diff options
author | Darrick J. Wong <darrick.wong@oracle.com> | 2019-08-30 15:44:56 -0700 |
---|---|---|
committer | Darrick J. Wong <darrick.wong@oracle.com> | 2019-11-22 21:35:03 -0800 |
commit | 218d5fd03d5ee80065b718d64f13f46c845dff80 (patch) | |
tree | f395bad4cb8777cf527c51ab8df5b92bdfffcda1 /fs/xfs/scrub/dabtree.c | |
parent | fbaf403dac73d7e3bf07c9ff8e041eae761c50c0 (diff) |
xfs: scrub should set preen if attr leaf has holesrepair-inode-data_2019-11-22
If an attr block indicates that it could use compaction, set the preen
flag to have the attr fork rebuilt, since the attr fork rebuilder can
take care of that for us.
Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
Reviewed-by: Dave Chinner <dchinner@redhat.com>
Diffstat (limited to 'fs/xfs/scrub/dabtree.c')
-rw-r--r-- | fs/xfs/scrub/dabtree.c | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/fs/xfs/scrub/dabtree.c b/fs/xfs/scrub/dabtree.c index 77ff9f97bcda..8a3dfe88347f 100644 --- a/fs/xfs/scrub/dabtree.c +++ b/fs/xfs/scrub/dabtree.c @@ -77,6 +77,21 @@ xchk_da_set_corrupt( __return_address); } +/* Flag a da btree node in need of optimization. */ +void +xchk_da_set_preen( + struct xchk_da_btree *ds, + int level) +{ + struct xfs_scrub *sc = ds->sc; + + sc->sm->sm_flags |= XFS_SCRUB_OFLAG_PREEN; + trace_xchk_fblock_preen(sc, ds->dargs.whichfork, + xfs_dir2_da_to_db(ds->dargs.geo, + ds->state->path.blk[level].blkno), + __return_address); +} + /* Find an entry at a certain level in a da btree. */ STATIC void * xchk_da_btree_entry( |