Commit bd3138e8 authored by Darrick J. Wong's avatar Darrick J. Wong
Browse files

xfs: fix remote xattr valuelblk check



In debugging other problems with generic/753, it turns out that it's
possible for the system go to down in the middle of a remote xattr set
operation such that the leaf block entry is marked incomplete and
valueblk is set to zero.  Make this no longer a failure.

Cc: <stable@vger.kernel.org> # v4.15
Fixes: 13791d3b ("xfs: scrub extended attribute leaf space")
Signed-off-by: default avatar"Darrick J. Wong" <djwong@kernel.org>
Reviewed-by: default avatarChristoph Hellwig <hch@lst.de>
parent 6fed8270
Loading
Loading
Loading
Loading
+4 −1
Original line number Diff line number Diff line
@@ -338,7 +338,10 @@ xchk_xattr_entry(
		rentry = xfs_attr3_leaf_name_remote(leaf, idx);
		namesize = xfs_attr_leaf_entsize_remote(rentry->namelen);
		name_end = (char *)rentry + namesize;
		if (rentry->namelen == 0 || rentry->valueblk == 0)
		if (rentry->namelen == 0)
			xchk_da_set_corrupt(ds, level);
		if (rentry->valueblk == 0 &&
		    !(ent->flags & XFS_ATTR_INCOMPLETE))
			xchk_da_set_corrupt(ds, level);
	}
	if (name_end > buf_end)