** Description changed:
[Impact]
- * Xenial's ZFS can deadlock in the memory shrinker path
- after removing files with extended attributes (xattr).
+ * 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.
+ * 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.
+ * 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.
+ * 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.
+ (comment #8)
- * 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 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.
+ (comment #3)
- * 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.
+ * 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.
+ (comment #12)
[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.
+ * 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.
+ * The ZFS test-suite has been run on original/modified
+ zfs-dkms package/kernel modules, with no regressions.
+ (comment #11)
** Also affects: linux (Ubuntu)
Importance: Undecided
Status: New
** Changed in: linux (Ubuntu Eoan)
Status: New => Invalid
** Changed in: linux (Ubuntu Disco)
Status: New => Invalid
** Changed in: linux (Ubuntu Bionic)
Status: New => Invalid
** Changed in: linux (Ubuntu Xenial)
Status: New => In Progress
** Changed in: linux (Ubuntu Xenial)
Assignee: (unassigned) => Mauricio Faria de Oliveira (mfo)
--
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1839521
Title:
Xenial: ZFS deadlock in shrinker path with xattrs
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1839521/+subscriptions
--
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs