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 : [email protected]
Unsubscribe : https://launchpad.net/~kernel-packages
More help : https://help.launchpad.net/ListHelp