mirror of
https://github.com/torvalds/linux.git
synced 2026-09-23 13:14:02 +02:00
xfs: only flag zero padding for dir3 data blocks, not dir3 block blocks
LOLLM complains that xchk_directory_data_bestfree can be passed a
directory block that is either in "block" or "data" format, but the
check here unconditionally treats the dir3_block and dir3_data blocks as
if they have the same header format (they don't). Consequently, we can
incorrectly set the preen state on dir3_block blocks, which of course
we can't preen away because dir3_block blocks do not have a padding
field. Fix this.
Cc: stable@vger.kernel.org # v7.1-rc4
Fixes: 939919ccdd ("xfs: check directory data block header padding in scrub")
Signed-off-by: Darrick J. Wong <djwong@kernel.org>
Assisted-by: LOLLM # finding obvious bugs
Reviewed-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Carlos Maiolino <cem@kernel.org>
This commit is contained in:
parent
46c1b6674a
commit
c54110d814
|
|
@ -492,7 +492,7 @@ xchk_directory_data_bestfree(
|
|||
goto out;
|
||||
xchk_buffer_recheck(sc, bp);
|
||||
|
||||
if (xfs_has_crc(sc->mp)) {
|
||||
if (!is_block && xfs_has_crc(sc->mp)) {
|
||||
struct xfs_dir3_data_hdr *hdr3 = bp->b_addr;
|
||||
|
||||
if (hdr3->pad)
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user