From: Christoph Hellwig Date: Mon, 14 Apr 2025 05:36:23 +0000 (+0200) Subject: xfs_spaceman: handle internal RT devices X-Git-Tag: v6.15.0~10 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=e741e275e9f27e0e20598477e56a48979fc82675;p=thirdparty%2Fxfsprogs-dev.git xfs_spaceman: handle internal RT devices Handle the synthetic fmr_device values for fsmap. Signed-off-by: Christoph Hellwig Reviewed-by: Darrick J. Wong --- diff --git a/spaceman/freesp.c b/spaceman/freesp.c index dfbec52a..9ad321c4 100644 --- a/spaceman/freesp.c +++ b/spaceman/freesp.c @@ -140,12 +140,19 @@ scan_ag( if (agno != NULLAGNUMBER) { l->fmr_physical = cvt_agbno_to_b(xfd, agno, 0); h->fmr_physical = cvt_agbno_to_b(xfd, agno + 1, 0); - l->fmr_device = h->fmr_device = file->fs_path.fs_datadev; + if (file->xfd.fsgeom.rtstart) + l->fmr_device = XFS_DEV_DATA; + else + l->fmr_device = file->fs_path.fs_datadev; } else { l->fmr_physical = 0; h->fmr_physical = ULLONG_MAX; - l->fmr_device = h->fmr_device = file->fs_path.fs_rtdev; + if (file->xfd.fsgeom.rtstart) + l->fmr_device = XFS_DEV_RT; + else + l->fmr_device = file->fs_path.fs_rtdev; } + h->fmr_device = l->fmr_device; h->fmr_owner = ULLONG_MAX; h->fmr_flags = UINT_MAX; h->fmr_offset = ULLONG_MAX;