]> www.infradead.org Git - users/hch/xfsprogs.git/commitdiff
xfs: online repair of the realtime rmap btree
authorDarrick J. Wong <djwong@kernel.org>
Thu, 15 Aug 2024 18:57:36 +0000 (11:57 -0700)
committerDarrick J. Wong <djwong@kernel.org>
Wed, 9 Oct 2024 23:29:18 +0000 (16:29 -0700)
Source kernel commit: f813af307d62d4c4d620a358bbd406f89ffdeca2

Repair the realtime rmap btree while mounted.

Signed-off-by: Darrick J. Wong <djwong@kernel.org>
Signed-off-by: Christoph Hellwig <hch@lst.de>
libxfs/xfs_btree_staging.c
libxfs/xfs_rtrmap_btree.c
libxfs/xfs_rtrmap_btree.h

index 48953c12d3f5cc5d5cc0b40ea52596c53251dafd..4dc75deecf01d74dba16177dfee2434f0644e988 100644 (file)
@@ -134,6 +134,7 @@ xfs_btree_stage_ifakeroot(
        cur->bc_ino.ifake = ifake;
        cur->bc_nlevels = ifake->if_levels;
        cur->bc_ino.forksize = ifake->if_fork_size;
+       cur->bc_ino.whichfork = XFS_STAGING_FORK;
        cur->bc_flags |= XFS_BTREE_STAGING;
 }
 
index 84987bb043d654a50d9bbf1ddb453051320f8b63..b2a7718ed5b7d705ad154b719b085f97b9cd9693 100644 (file)
@@ -661,7 +661,7 @@ xfs_rtrmapbt_compute_maxlevels(
 }
 
 /* Calculate the rtrmap btree size for some records. */
-static unsigned long long
+unsigned long long
 xfs_rtrmapbt_calc_size(
        struct xfs_mount        *mp,
        unsigned long long      len)
index db313492b17eedd77222ece8dfd23ec70483bb7a..6e3dab8c44f7c25949b8f7950fc4fa7a6caa0b5e 100644 (file)
@@ -198,4 +198,7 @@ int xfs_rtrmapbt_create(struct xfs_rtgroup *rtg, struct xfs_inode *ip,
 int xfs_rtrmapbt_init_rtsb(struct xfs_mount *mp, struct xfs_rtgroup *rtg,
                struct xfs_trans *tp);
 
+unsigned long long xfs_rtrmapbt_calc_size(struct xfs_mount *mp,
+               unsigned long long len);
+
 #endif /* __XFS_RTRMAP_BTREE_H__ */