|
@@ -521,6 +521,7 @@ __xfs_getfsmap_rtdev(
|
|
|
return query_fn(tp, info);
|
|
|
}
|
|
|
|
|
|
+#ifdef CONFIG_XFS_RT
|
|
|
/* Actually query the realtime bitmap. */
|
|
|
STATIC int
|
|
|
xfs_getfsmap_rtdev_rtbitmap_query(
|
|
@@ -561,6 +562,7 @@ xfs_getfsmap_rtdev_rtbitmap(
|
|
|
return __xfs_getfsmap_rtdev(tp, keys, xfs_getfsmap_rtdev_rtbitmap_query,
|
|
|
info);
|
|
|
}
|
|
|
+#endif /* CONFIG_XFS_RT */
|
|
|
|
|
|
/* Execute a getfsmap query against the regular data device. */
|
|
|
STATIC int
|
|
@@ -795,7 +797,15 @@ xfs_getfsmap_check_keys(
|
|
|
return false;
|
|
|
}
|
|
|
|
|
|
+/*
|
|
|
+ * There are only two devices if we didn't configure RT devices at build time.
|
|
|
+ */
|
|
|
+#ifdef CONFIG_XFS_RT
|
|
|
#define XFS_GETFSMAP_DEVS 3
|
|
|
+#else
|
|
|
+#define XFS_GETFSMAP_DEVS 2
|
|
|
+#endif /* CONFIG_XFS_RT */
|
|
|
+
|
|
|
/*
|
|
|
* Get filesystem's extents as described in head, and format for
|
|
|
* output. Calls formatter to fill the user's buffer until all
|
|
@@ -853,10 +863,12 @@ xfs_getfsmap(
|
|
|
handlers[1].dev = new_encode_dev(mp->m_logdev_targp->bt_dev);
|
|
|
handlers[1].fn = xfs_getfsmap_logdev;
|
|
|
}
|
|
|
+#ifdef CONFIG_XFS_RT
|
|
|
if (mp->m_rtdev_targp) {
|
|
|
handlers[2].dev = new_encode_dev(mp->m_rtdev_targp->bt_dev);
|
|
|
handlers[2].fn = xfs_getfsmap_rtdev_rtbitmap;
|
|
|
}
|
|
|
+#endif /* CONFIG_XFS_RT */
|
|
|
|
|
|
xfs_sort(handlers, XFS_GETFSMAP_DEVS, sizeof(struct xfs_getfsmap_dev),
|
|
|
xfs_getfsmap_dev_compare);
|