mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-12-28 07:54:36 -05:00
xfs: walk the rt reference count tree when rebuilding rmap
When we're rebuilding the data device rmap, if we encounter a "refcount" format fork, we have to walk the (realtime) refcount btree inode to build the appropriate mappings. Signed-off-by: "Darrick J. Wong" <djwong@kernel.org> Reviewed-by: Christoph Hellwig <hch@lst.de>
This commit is contained in:
@@ -33,6 +33,7 @@
|
||||
#include "xfs_ag.h"
|
||||
#include "xfs_rtrmap_btree.h"
|
||||
#include "xfs_rtgroup.h"
|
||||
#include "xfs_rtrefcount_btree.h"
|
||||
#include "scrub/xfs_scrub.h"
|
||||
#include "scrub/scrub.h"
|
||||
#include "scrub/common.h"
|
||||
@@ -519,6 +520,9 @@ xrep_rmap_scan_meta_btree(
|
||||
case XFS_METAFILE_RTRMAP:
|
||||
type = XFS_RTGI_RMAP;
|
||||
break;
|
||||
case XFS_METAFILE_RTREFCOUNT:
|
||||
type = XFS_RTGI_REFCOUNT;
|
||||
break;
|
||||
default:
|
||||
ASSERT(0);
|
||||
return -EFSCORRUPTED;
|
||||
@@ -545,6 +549,9 @@ xrep_rmap_scan_meta_btree(
|
||||
case XFS_METAFILE_RTRMAP:
|
||||
cur = xfs_rtrmapbt_init_cursor(sc->tp, rtg);
|
||||
break;
|
||||
case XFS_METAFILE_RTREFCOUNT:
|
||||
cur = xfs_rtrefcountbt_init_cursor(sc->tp, rtg);
|
||||
break;
|
||||
default:
|
||||
ASSERT(0);
|
||||
error = -EFSCORRUPTED;
|
||||
|
||||
Reference in New Issue
Block a user