** Changed in: linux (Ubuntu Xenial)
   Importance: Undecided => Medium

** Changed in: linux (Ubuntu Xenial)
       Status: New => Fix Committed

** Changed in: linux (Ubuntu Zesty)
   Importance: Undecided => Medium

** Changed in: linux (Ubuntu Zesty)
       Status: New => Fix Committed

-- 
You received this bug notification because you are a member of Kernel
Packages, which is subscribed to linux in Ubuntu.
https://bugs.launchpad.net/bugs/1728489

Title:
  tar -x sometimes fails on overlayfs

Status in linux package in Ubuntu:
  Confirmed
Status in linux source package in Xenial:
  Fix Committed
Status in linux source package in Zesty:
  Fix Committed

Bug description:
  [SRU Justification]

  [Impact]
  A user is seeing failures from extracting tar archives on overlay filesystems 
on the 4.4 kernel in constrained environments. The error presents as: 

  `tar: ./deps/0/bin: Directory renamed before its status could be
  extracted`

  Following this thread (http://www.spinics.net/lists/linux-
  unionfs/msg00856.html), it appears that this occurs when entries in
  the kernel's inode cache are reclaimed, and subsequent lookups return
  new inode numbers.

  Further testing showed that when setting
  `/proc/sys/vm/vfs_cache_pressure` to 0 (don't allow the kernel to
  reclaim inode cache entries due to memory pressure) the error does not
  recur, supporting the hypothesis that cache entries are being evicted.
  However, this setting may lead to a kernel OOM so is not a reasonable
  workaround even temporarily.

  The error cannot be reproduced on a 4.13 kernel, due to the series at
  https://www.spinics.net/lists/linux-fsdevel/msg110235.html. The
  particular relevant commit is
  b7a807dc2010334e62e0afd89d6f7a8913eb14ff, which needs a couple of
  dependencies.

  [Fix]
  For Zesty, backport the entire series.
  For Xenial, where a full backport is not feasible, backport the key commit 
and the short list of dependencies.

  [Testcase]

  # Testing this bug

  The testcase for this particular bug is simple - create an overlay
  filesystem with all layers on the same underlying file system, and
  then see if the inode of a directory is constant across dropping the
  caches:

  mkdir -p /upper/upper /upper/work /lower
  mount -t overlay none /mnt -o 
lowerdir=/lower,upperdir=/upper/upper,workdir=/upper/work
  cd /mnt
  mkdir a
  stat a # observe inode number
  echo 2 > /proc/sys/vm/drop_caches
  stat a # compare inode number

  If the inode number is the same, the fix is successful.

  # Regression testing

  I have run the unionmount test suite from
  http://git.infradead.org/users/dhowells/unionmount-testsuite.git in
  overlay mode (./run --ov), and verified that it still passes.

  (The series cover letter mentions a fork of the test suite at
  https://github.com/amir73il/unionmount-testsuite/commits/overlayfs-
  devel. I have *not* attempted to get this running: it assumes a range
  of changes that are not present in our kernels.)

  [Regression Potential]
  As this changes overlayfs, there is potential for regression in the form of 
unexpected breakages to overlaysfs behaviour.

  I think this is adequately addressed by the regression testing.

  One option to reduce the regression potential on Zesty is to reduce
  the set of patches applied - rather than including the whole series we
  could include just the patches to solve this bug, which are much
  easier to inspect for correctness.

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1728489/+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

Reply via email to