On Sun, Mar 31, 2019 at 05:24:33PM +0300, Alex Lyakas wrote: > 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(). > For future reference, you probably want to make sure the patch series is threaded when it's posted to the list. That aside, this looks like a reasonable and straightforward backport to me: Acked-by: Brian Foster <bfoster@xxxxxxxxxx> > 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 >