Allow multiple mounts of zfs datasets

Bug #1759848 reported by Colin Ian King on 2018-03-29
12
This bug affects 1 person
Affects Status Importance Assigned to Milestone
linux (Ubuntu)
Undecided
Unassigned
Xenial
Undecided
Colin Ian King
Bionic
Undecided
Unassigned
zfs-linux (Ubuntu)
Medium
Colin Ian King
Xenial
Undecided
Unassigned
Bionic
Medium
Colin Ian King

Bug Description

=== SRU Justification, Xenial ==

An attempt to mount an already mounted zfs dataset should return a new mount referencing the existing super block, but instead it returns an error. Operations such as bind mounts and unsharing mount namespaces create new mounts for the sb, which can cause operations to fail which involve unmounting and remounting the dataset.

== Fix ==

Backport of upstream fix https://trello.com/c/l89Ygj28/352-allow-multiple-mounts-of-zfs-datasets to allow multiple mounts

This fix from Seth addresses this issue

== Regression potential ==

Like all backports, this has a potential to be incorrectly backported and break the ZFS mounting. However, any breakage should be picked up via the ZFS smoke tests that thoroughly exercise mounting/dismounting options. At worst, the mounting won't work, but this has been tested, so I doubt this is a possibility.

Colin Ian King (colin-king) wrote :
Changed in zfs-linux (Ubuntu):
status: New → In Progress
importance: Undecided → Medium
assignee: nobody → Colin Ian King (colin-king)
description: updated
tags: added: patch
Colin Ian King (colin-king) wrote :

Applied patch, tested successfully with:

mount -t zfs -o zfsutil pool/ds /mnt/first
mount -t zfs -o zfsutil pool/ds /mnt/second

And also passes the ubuntu ZFS regression tests.

This bug is missing log files that will aid in diagnosing the problem. While running an Ubuntu kernel (not a mainline or third-party kernel) please enter the following command in a terminal window:

apport-collect 1759848

and then change the status of the bug to 'Confirmed'.

If, due to the nature of the issue you have encountered, you are unable to run this command, please add a comment stating that fact and change the bug status to 'Confirmed'.

This change has been made by an automated script, maintained by the Ubuntu Kernel Team.

Changed in linux (Ubuntu):
status: New → Incomplete
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package zfs-linux - 0.7.5-1ubuntu13

---------------
zfs-linux (0.7.5-1ubuntu13) bionic; urgency=medium

  * Allow multiple mounts of zfs datasets (LP: #1759848)
    - Change zpl_mount() to call sget() directly with it's own test
      callback. Passing the objset_t object as the fs data allows
      checking if a superblock already exists for the dataset, and in
      that case we just need to return a new reference for the sb's
      root dentry.

 -- Colin Ian King <email address hidden> Thu, 29 Mar 2018 13:58:22 +0100

Changed in zfs-linux (Ubuntu):
status: In Progress → Fix Released
Changed in linux (Ubuntu Bionic):
status: Incomplete → Fix Committed
Launchpad Janitor (janitor) wrote :
Download full text (40.4 KiB)

This bug was fixed in the package linux - 4.15.0-15.16

---------------
linux (4.15.0-15.16) bionic; urgency=medium

  * linux: 4.15.0-15.16 -proposed tracker (LP: #1761177)

  * FFe: Enable configuring resume offset via sysfs (LP: #1760106)
    - PM / hibernate: Make passing hibernate offsets more friendly

  * /dev/bcache/by-uuid links not created after reboot (LP: #1729145)
    - SAUCE: (no-up) bcache: decouple emitting a cached_dev CHANGE uevent

  * Ubuntu18.04:POWER9:DD2.2 - Unable to start a KVM guest with default machine
    type(pseries-bionic) complaining "KVM implementation does not support
    Transactional Memory, try cap-htm=off" (kvm) (LP: #1752026)
    - powerpc: Use feature bit for RTC presence rather than timebase presence
    - powerpc: Book E: Remove unused CPU_FTR_L2CSR bit
    - powerpc: Free up CPU feature bits on 64-bit machines
    - powerpc: Add CPU feature bits for TM bug workarounds on POWER9 v2.2
    - powerpc/powernv: Provide a way to force a core into SMT4 mode
    - KVM: PPC: Book3S HV: Work around transactional memory bugs in POWER9
    - KVM: PPC: Book3S HV: Work around XER[SO] bug in fake suspend mode
    - KVM: PPC: Book3S HV: Work around TEXASR bug in fake suspend state

  * Important Kernel fixes to be backported for Power9 (kvm) (LP: #1758910)
    - powerpc/mm: Fixup tlbie vs store ordering issue on POWER9

  * Ubuntu 18.04 - IO Hang on some namespaces when running HTX with 16
    namespaces (Bolt / NVMe) (LP: #1757497)
    - powerpc/64s: Fix lost pending interrupt due to race causing lost update to
      irq_happened

  * fwts-efi-runtime-dkms 18.03.00-0ubuntu1: fwts-efi-runtime-dkms kernel module
    failed to build (LP: #1760876)
    - [Packaging] include the retpoline extractor in the headers

linux (4.15.0-14.15) bionic; urgency=medium

  * linux: 4.15.0-14.15 -proposed tracker (LP: #1760678)

  * [Bionic] mlx4 ETH - mlnx_qos failed when set some TC to vendor
    (LP: #1758662)
    - net/mlx4_en: Change default QoS settings

  * AT_BASE_PLATFORM in AUXV is absent on kernels available on Ubuntu 17.10
    (LP: #1759312)
    - powerpc/64s: Fix NULL AT_BASE_PLATFORM when using DT CPU features

  * Bionic update to 4.15.15 stable release (LP: #1760585)
    - net: dsa: Fix dsa_is_user_port() test inversion
    - openvswitch: meter: fix the incorrect calculation of max delta_t
    - qed: Fix MPA unalign flow in case header is split across two packets.
    - tcp: purge write queue upon aborting the connection
    - qed: Fix non TCP packets should be dropped on iWARP ll2 connection
    - sysfs: symlink: export sysfs_create_link_nowarn()
    - net: phy: relax error checking when creating sysfs link netdev->phydev
    - devlink: Remove redundant free on error path
    - macvlan: filter out unsupported feature flags
    - net: ipv6: keep sk status consistent after datagram connect failure
    - ipv6: old_dport should be a __be16 in __ip6_datagram_connect()
    - ipv6: sr: fix NULL pointer dereference when setting encap source address
    - ipv6: sr: fix scheduling in RCU when creating seg6 lwtunnel state
    - mlxsw: spectrum_buffers: Set a minimum quota for CPU port traffic
    - net: phy: Tell caller result ...

Changed in linux (Ubuntu Bionic):
status: Fix Committed → Fix Released
Changed in linux (Ubuntu Xenial):
assignee: nobody → Colin Ian King (colin-king)
no longer affects: linux (Ubuntu Artful)
no longer affects: zfs-linux (Ubuntu Artful)
description: updated
Colin Ian King (colin-king) wrote :

This SRU requires and update in zfsutils-linux and the change sync'd to the kernel and the kernel update to complete the fix.

Changed in linux (Ubuntu Xenial):
status: New → In Progress
Changed in zfs-linux (Ubuntu Xenial):
status: New → In Progress

Hello Colin, or anyone else affected,

Accepted zfs-linux into xenial-proposed. The package will build now and be available at https://launchpad.net/ubuntu/+source/zfs-linux/0.6.5.6-0ubuntu24 in a few hours, and then in the -proposed repository.

Please help us by testing this new package. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation on how to enable and use -proposed.Your feedback will aid us getting this update out to other Ubuntu users.

If this package fixes the bug for you, please add a comment to this bug, mentioning the version of the package you tested and change the tag from verification-needed-xenial to verification-done-xenial. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed-xenial. In either case, without details of your testing we will not be able to proceed.

Further information regarding the verification process can be found at https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . Thank you in advance!

Changed in zfs-linux (Ubuntu Xenial):
status: In Progress → Fix Committed
Colin Ian King (colin-king) wrote :

We need to wait until the kernel is updated with the fix before it can be tested as the fixes require kernel + zfs together to work

Colin Ian King (colin-king) wrote :

Tested with kernel 4.15.0-27-generic and the fix works. Marking as verified for Bionic.

tags: added: verification-done-bionic
tags: added: verification-needed-xenial
removed: verification-done-bionic
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers