diff options
author | Darrick J. Wong <djwong@kernel.org> | 2021-09-30 15:45:42 -0700 |
---|---|---|
committer | Darrick J. Wong <djwong@kernel.org> | 2021-12-15 17:29:31 -0800 |
commit | 1c6d7a06132b86a48b08c3e1754bdc2b5cb7cba6 (patch) | |
tree | 9087e7d86fc7d29150af654c29e89565c6995a64 | |
parent | 18945ffd27477b82920daae333883a330c4fdbe0 (diff) |
xfs: don't freeze fs for rmap repairsrepair-rmap-live_2021-12-15
Signed-off-by: Darrick J. Wong <djwong@kernel.org>
-rw-r--r-- | fs/xfs/scrub/repair.h | 4 | ||||
-rw-r--r-- | fs/xfs/scrub/rmap.c | 8 | ||||
-rw-r--r-- | fs/xfs/scrub/rmap_repair.c | 14 | ||||
-rw-r--r-- | fs/xfs/scrub/rtrmap.c | 6 | ||||
-rw-r--r-- | fs/xfs/scrub/rtrmap_repair.c | 14 |
5 files changed, 0 insertions, 46 deletions
diff --git a/fs/xfs/scrub/repair.h b/fs/xfs/scrub/repair.h index ad4984bea562..8a7d03396bb9 100644 --- a/fs/xfs/scrub/repair.h +++ b/fs/xfs/scrub/repair.h @@ -75,13 +75,11 @@ int xrep_ino_dqattach(struct xfs_scrub *sc); int xrep_reset_perag_resv(struct xfs_scrub *sc); int xrep_bmap(struct xfs_scrub *sc, int whichfork, bool allow_unwritten); int xrep_metadata_inode_forks(struct xfs_scrub *sc); -int xrep_setup_ag_rmapbt(struct xfs_scrub *sc); int xrep_setup_rtsummary(struct xfs_scrub *sc, unsigned int *resblks); int xrep_setup_xattr(struct xfs_scrub *sc); int xrep_setup_directory(struct xfs_scrub *sc); int xrep_setup_parent(struct xfs_scrub *sc); int xrep_setup_rtbitmap(struct xfs_scrub *sc, unsigned int *resblks); -int xrep_setup_rtrmapbt(struct xfs_scrub *sc); int xrep_setup_nlinks(struct xfs_scrub *sc, unsigned int *buf_bytes); int xrep_xattr_reset_fork(struct xfs_scrub *sc, struct xfs_inode *ip); @@ -274,11 +272,9 @@ xrep_setup_nothing( return 0; } #define xrep_setup_ag_allocbt xrep_setup_nothing -#define xrep_setup_ag_rmapbt xrep_setup_nothing #define xrep_setup_xattr xrep_setup_nothing #define xrep_setup_directory xrep_setup_nothing #define xrep_setup_parent xrep_setup_nothing -#define xrep_setup_rtrmapbt xrep_setup_nothing static inline int xrep_setup_rtsummary(struct xfs_scrub *sc, unsigned int *whatever) diff --git a/fs/xfs/scrub/rmap.c b/fs/xfs/scrub/rmap.c index b1fee12132e8..389315d2a8bb 100644 --- a/fs/xfs/scrub/rmap.c +++ b/fs/xfs/scrub/rmap.c @@ -27,14 +27,6 @@ int xchk_setup_ag_rmapbt( struct xfs_scrub *sc) { - if (xchk_could_repair(sc)) { - int error; - - error = xrep_setup_ag_rmapbt(sc); - if (error) - return error; - } - return xchk_setup_ag_btree(sc, false); } diff --git a/fs/xfs/scrub/rmap_repair.c b/fs/xfs/scrub/rmap_repair.c index 28d0395109d3..7730c97a4e61 100644 --- a/fs/xfs/scrub/rmap_repair.c +++ b/fs/xfs/scrub/rmap_repair.c @@ -120,20 +120,6 @@ * We use the 'xrep_rmap' prefix for all the rmap functions. */ -/* Set us up to repair reverse mapping btrees. */ -int -xrep_setup_ag_rmapbt( - struct xfs_scrub *sc) -{ - /* - * Freeze out anything that can lock an inode. We reconstruct - * the rmapbt by reading inode bmaps with the AGF held, which is - * only safe w.r.t. ABBA deadlocks if we're the only ones locking - * inodes. - */ - return xchk_fs_freeze(sc); -} - /* Context for collecting rmaps */ struct xrep_rmap { /* new rmapbt information */ diff --git a/fs/xfs/scrub/rtrmap.c b/fs/xfs/scrub/rtrmap.c index 25d56cb1b506..0f3f224a69e1 100644 --- a/fs/xfs/scrub/rtrmap.c +++ b/fs/xfs/scrub/rtrmap.c @@ -36,12 +36,6 @@ xchk_setup_rtrmapbt( struct xfs_mount *mp = sc->mp; int error; - if (xchk_could_repair(sc)) { - error = xrep_setup_rtrmapbt(sc); - if (error) - return error; - } - error = xchk_setup_fs(sc); if (error) return error; diff --git a/fs/xfs/scrub/rtrmap_repair.c b/fs/xfs/scrub/rtrmap_repair.c index 418bb4fc50c2..d1c1cb3ee7d9 100644 --- a/fs/xfs/scrub/rtrmap_repair.c +++ b/fs/xfs/scrub/rtrmap_repair.c @@ -61,20 +61,6 @@ * We use the 'xrep_rtrmap' prefix for all the rmap functions. */ -/* Set us up to repair rt reverse mapping btrees. */ -int -xrep_setup_rtrmapbt( - struct xfs_scrub *sc) -{ - /* - * Freeze out anything that can lock an inode. We reconstruct the - * rtrmapbt by reading inode bmaps with the rt rmap btree inode locked, - * which is only safe w.r.t. ABBA deadlocks if we're the only ones - * locking inodes. - */ - return xchk_fs_freeze(sc); -} - /* Context for collecting rmaps */ struct xrep_rtrmap { /* new rtrmapbt information */ |