zfs-test results w/ original & modified zfs-dkms ------------------------------------------------
original -------- $ uname -rv 4.4.0-159-generic #187-Ubuntu SMP Thu Aug 1 16:28:06 UTC 2019 $ modinfo zfs | head filename: /lib/modules/4.4.0-159-generic/updates/dkms/zfs.ko version: 0.6.5.6-0ubuntu27 ... srcversion: 0968F94158D646E259D86B5 ... $ /usr/share/zfs/zfs-tests.sh -r $TMP_RUN_FILE 2>&1 | tee zfs-tests.log .orig-kernel.orig-dkms modified -------- $ uname -rv 4.4.0-159-generic #187-Ubuntu SMP Thu Aug 1 16:28:06 UTC 2019 $ modinfo zfs | head filename: /lib/modules/4.4.0-159-generic/updates/dkms/zfs.ko version: 0.6.5.6-0ubuntu28 ... srcversion: 99F1D0FED2F291CA7AED0C6 ... $ /usr/share/zfs/zfs-tests.sh -r $TMP_RUN_FILE 2>&1 | tee zfs-tests.log .orig-kernel.test-dkms Results Comparison ------------------ Filter test name and result only. $ awk '/^Test:/ { print $2, $7 }' zfs-tests.log.orig-kernel.orig-dkms > zfs-tests.log.orig-kernel.orig-dkms.awk $ awk '/^Test:/ { print $2, $7 }' zfs-tests.log.orig-kernel.test-dkms > zfs-tests.log.orig-kernel.test-dkms.awk Example: $ head -n3 zfs-tests.log.orig-kernel.orig-dkms.awk /usr/share/zfs/zfs-tests/tests/functional/acl/posix/setup [PASS] /usr/share/zfs/zfs-tests/tests/functional/acl/posix/posix_001_pos [PASS] /usr/share/zfs/zfs-tests/tests/functional/acl/posix/posix_002_pos [PASS] No differences/regressions between original zfs-dkms and modified zfs- dkms. $ diff zfs-tests.log.orig-kernel.{orig,test}-dkms.awk $ $ grep -A3 Summary zfs-tests.log.orig-kernel.orig-dkms Results Summary FAIL 463 PASS 739 SKIP 184 $ grep -A3 Summary zfs-tests.log.orig-kernel.test-dkms Results Summary SKIP 184 PASS 739 FAIL 463 -- You received this bug notification because you are a member of Kernel Packages, which is subscribed to zfs-linux in Ubuntu. https://bugs.launchpad.net/bugs/1839521 Title: Xenial: ZFS deadlock in shrinker path with xattrs Status in zfs-linux package in Ubuntu: Invalid Status in zfs-linux source package in Xenial: In Progress Status in zfs-linux source package in Bionic: Invalid Status in zfs-linux source package in Disco: Invalid Status in zfs-linux source package in Eoan: Invalid Bug description: [Impact] * Xenial's ZFS can deadlock in the memory shrinker path after removing files with extended attributes (xattr). * Extended attributes are enabled by default, but are _not_ used by default, which reduces the likelyhood. * It's very difficult/rare to reproduce this problem, due to file/xattr/remove/shrinker/lru order/timing circumstances required. (weeks for a reporter user) but a synthetic test-case has been found for tests. [Test Case] * A synthetic reproducer is available for this LP, with a few steps to touch/setfattr/rm/drop_caches plus a kernel module to massage the disposal list. * In the original ZFS module: the xattr dir inode is not purged immediately on file removal, but possibly purged _two_ shrinker invocations later. This allows for other thread started before file remove to call zfs_zget() on the xattr child inode and iput() it, so it makes to the same disposal list as the xattr dir inode. * In the modified ZFS module: the xattr dir inode is purged immediately on file removal not possibly later on shrinker invocation, so the problem window above doesn't exist anymore. [Regression Potential] * Low. The patches are confined to extended attributes in ZFS, specifically node removal/purge, and another change how an xattr child inode tracks its xattr dir (parent) inode, so that it can be purged immediately on removal. * The ZFS test-suite has been run on original/modified zfs-dkms package/kernel modules, with no regressions. To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/zfs-linux/+bug/1839521/+subscriptions -- Mailing list: https://launchpad.net/~kernel-packages Post to : kernel-packages@lists.launchpad.net Unsubscribe : https://launchpad.net/~kernel-packages More help : https://help.launchpad.net/ListHelp