[STABLE PATCH 0/2] Fix in-memory metadata corruption at xfs_attr3_leaf_write_verify()

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This is a partial backport of original Darrick's series "xfs: logging fixes" to kernel 4.14.
It fixes the in-memory metadata corruption error, which happens
when a partially initialized attribute buffer is attemped to be written to disk. 
This issue is reproducible with kernel 4.14, when adding a 1-sec sleep in xfs_attr_set(),
between the call to  xfs_attr_shortform_to_leaf() and the call to xfs_attr_leaf_addname().

Darrick J. Wong (2):
  xfs: add the ability to join a held buffer to a defer_ops
  xfs: hold xfs_buf locked between shortform->leaf conversion and the
    addition of an attribute

 fs/xfs/libxfs/xfs_attr.c      | 20 +++++++++++++++-----
 fs/xfs/libxfs/xfs_attr_leaf.c |  9 ++++++---
 fs/xfs/libxfs/xfs_attr_leaf.h |  3 ++-
 fs/xfs/libxfs/xfs_defer.c     | 39 ++++++++++++++++++++++++++++++++++++---
 fs/xfs/libxfs/xfs_defer.h     |  5 ++++-
 5 files changed, 63 insertions(+), 13 deletions(-)

-- 
1.9.1




[Index of Archives]     [XFS Filesystem Development (older mail)]     [Linux Filesystem Development]     [Linux Audio Users]     [Yosemite Trails]     [Linux Kernel]     [Linux RAID]     [Linux SCSI]


  Powered by Linux