← Back to team overview

group.of.nepali.translators team mailing list archive

[Bug 1839521] Re: Xenial: ZFS deadlock in shrinker path with xattrs

 

** 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 नेपाली
भाषा समायोजकहरुको समूह, which is subscribed to Xenial.
Matching subscriptions: Ubuntu 16.04 Bugs
https://bugs.launchpad.net/bugs/1839521

Title:
  Xenial: ZFS deadlock in shrinker path with xattrs

Status in linux package in Ubuntu:
  Invalid
Status in zfs-linux package in Ubuntu:
  Invalid
Status in linux source package in Xenial:
  In Progress
Status in zfs-linux source package in Xenial:
  In Progress
Status in linux source package in Bionic:
  Invalid
Status in zfs-linux source package in Bionic:
  Invalid
Status in linux source package in Disco:
  Invalid
Status in zfs-linux source package in Disco:
  Invalid
Status in linux source package in Eoan:
  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.
     (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.
     (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.
     (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.

   * The ZFS test-suite has been run on original/modified
     zfs-dkms package/kernel modules, with no regressions.
     (comment #11)

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


References