xfs: only check da node header padding on v5 filesystems
It turns out that we only started zeroing a new da btree node's block header on v5 filesystems. Prior to that, we just wouldn't set anything at all, which means that the pad field never got set and would retain whatever happened to be in memory. Therefore, we can only check the pad for zeroness on v5 filesystems. shared/006 on a v4 filesystem exposes this scrub bug. Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com> Reviewed-by: Dave Chinner <dchinner@redhat.com>
This commit is contained in:
parent
a605e86912
commit
4da4b10b5b
@ -378,7 +378,8 @@ xfs_scrub_da_btree_block(
|
||||
blk->magic = be16_to_cpu(hdr3->hdr.magic);
|
||||
pmaxrecs = &ds->maxrecs[level];
|
||||
|
||||
if (hdr3->hdr.pad != cpu_to_be16(0))
|
||||
/* We only started zeroing the header on v5 filesystems. */
|
||||
if (xfs_sb_version_hascrc(&ds->sc->mp->m_sb) && hdr3->hdr.pad)
|
||||
xfs_scrub_da_set_corrupt(ds, level);
|
||||
|
||||
/* Check the owner. */
|
||||
|
Loading…
Reference in New Issue
Block a user