summaryrefslogtreecommitdiff
path: root/fs/xfs/xfs_buf_item_recover.c
diff options
context:
space:
mode:
authorDarrick J. Wong <djwong@kernel.org>2021-12-15 11:53:15 -0800
committerDarrick J. Wong <djwong@kernel.org>2021-12-21 09:49:41 -0800
commite5d1802c70f50e0660ee7f598dc2c40312c9e0af (patch)
treeecf725047485ff52bc027148eff8e686e9b524a5 /fs/xfs/xfs_buf_item_recover.c
parent7993f1a431bc5271369d359941485a9340658ac3 (diff)
xfs: fix a bug in the online fsck directory leaf1 bestcount check
When xfs_scrub encounters a directory with a leaf1 block, it tries to validate that the leaf1 block's bestcount (aka the best free count of each directory data block) is the correct size. Previously, this author believed that comparing bestcount to the directory isize (since directory data blocks are under isize, and leaf/bestfree blocks are above it) was sufficient. Unfortunately during testing of online repair, it was discovered that it is possible to create a directory with a hole between the last directory block and isize. The directory code seems to handle this situation just fine and xfs_repair doesn't complain, which effectively makes this quirk part of the disk format. Fix the check to work properly. Signed-off-by: Darrick J. Wong <djwong@kernel.org> Reviewed-by: Dave Chinner <dchinner@redhat.com>
Diffstat (limited to 'fs/xfs/xfs_buf_item_recover.c')
0 files changed, 0 insertions, 0 deletions