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: 13791d3b83 ("xfs: scrub extended attribute leaf space")
Signed-off-by: "Darrick J. Wong" <djwong@kernel.org>
Reviewed-by: Christoph Hellwig <hch@lst.de>
master
parent
6fed827044
commit
bd3138e891
|
|
@ -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)
|
||||
|
|
|
|||
Loading…
Reference in New Issue