Steps used to verify the fix (both in focal and groovy):

$ fallocate -l 8G /home/ubuntu/disk.img
$ sudo zpool create pool /home/ubuntu/disk.img 
$ for i in {1..20}; do sudo zfs create pool/ds$i; done
$ sudo zfs unmount pool/ds20
$ sudo zfs mount -a & sudo zfs mount -a &
[1] 1964
[2] 1965
ubuntu@groovy:~$ filesystem 'pool/ds20' is already mounted
cannot mount 'pool/ds20': mountpoint or dataset is busy

[1]-  Done                    sudo zfs mount -a
[2]+  Exit 1                  sudo zfs mount -a

With the fix applied we should be able to see the error "mountpoint or
dataset is busy", due to the concurrent "zfs mount -a" running. That
means the old behavior has been restored, since it's not a problem
anymore for systemd (and the applied workaround could cause the
segfault).

** Tags removed: verification-needed-focal
** Tags added: verification-done-focal

** Tags removed: verification-needed-groovy
** Tags added: verification-done-groovy

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1902588

Title:
  zfs mount -a: double free / memory corruption / segfault when
  mountpoint of dataset is not empty

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/zfs-linux/+bug/1902588/+subscriptions

-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to