Commit 14d355dc authored by Christoph Hellwig's avatar Christoph Hellwig
Browse files

xfs: support xrep_require_rtext_inuse on zoned file systems



Space usage is tracked by the rmap, which already is separately
cross-referenced.  But on top of that we have the write pointer and can
do a basic sanity check here that the block is not beyond the write
pointer.

Signed-off-by: default avatarChristoph Hellwig <hch@lst.de>
Reviewed-by: default avatar"Darrick J. Wong" <djwong@kernel.org>
parent 48b9ac68
Loading
Loading
Loading
Loading
+8 −1
Original line number Diff line number Diff line
@@ -43,6 +43,7 @@
#include "xfs_rtalloc.h"
#include "xfs_metafile.h"
#include "xfs_rtrefcount_btree.h"
#include "xfs_zone_alloc.h"
#include "scrub/scrub.h"
#include "scrub/common.h"
#include "scrub/trace.h"
@@ -1050,7 +1051,13 @@ xrep_require_rtext_inuse(
	xfs_rtxnum_t		startrtx;
	xfs_rtxnum_t		endrtx;
	bool			is_free = false;
	int			error;
	int			error = 0;

	if (xfs_has_zoned(mp)) {
		if (!xfs_zone_rgbno_is_valid(sc->sr.rtg, rgbno + len - 1))
			return -EFSCORRUPTED;
		return 0;
	}

	startrtx = xfs_rgbno_to_rtx(mp, rgbno);
	endrtx = xfs_rgbno_to_rtx(mp, rgbno + len - 1);