summaryrefslogtreecommitdiff
path: root/fs/xfs/libxfs/xfs_fs.h
diff options
context:
space:
mode:
Diffstat (limited to 'fs/xfs/libxfs/xfs_fs.h')
-rw-r--r--fs/xfs/libxfs/xfs_fs.h17
1 files changed, 14 insertions, 3 deletions
diff --git a/fs/xfs/libxfs/xfs_fs.h b/fs/xfs/libxfs/xfs_fs.h
index 9a4bff3187b8..0b03f198442e 100644
--- a/fs/xfs/libxfs/xfs_fs.h
+++ b/fs/xfs/libxfs/xfs_fs.h
@@ -502,9 +502,13 @@ struct xfs_bulk_ireq {
*/
#define XFS_BULK_IREQ_METADIR (1 << 2)
+/* Don't mark inodes DONTCACHE */
+#define XFS_BULK_IREQ_RETAIN_INODES (1 << 3)
+
#define XFS_BULK_IREQ_FLAGS_ALL (XFS_BULK_IREQ_AGNO | \
XFS_BULK_IREQ_SPECIAL | \
- XFS_BULK_IREQ_METADIR)
+ XFS_BULK_IREQ_METADIR | \
+ XFS_BULK_IREQ_RETAIN_INODES)
/* Operate on the root directory inode. */
#define XFS_BULK_IREQ_SPECIAL_ROOT (1)
@@ -785,8 +789,12 @@ struct xfs_scrub_metadata {
/* i: Allow scrub to freeze the filesystem to perform global scans. */
#define XFS_SCRUB_IFLAG_FREEZE_OK (1 << 8)
+/* i: Don't mark inodes DONTCACHE at the end. */
+#define XFS_SCRUB_IFLAG_RETAIN_INODES (1 << 9)
+
#define XFS_SCRUB_FLAGS_IN (XFS_SCRUB_IFLAG_REPAIR | \
- XFS_SCRUB_IFLAG_FREEZE_OK)
+ XFS_SCRUB_IFLAG_FREEZE_OK | \
+ XFS_SCRUB_IFLAG_RETAIN_INODES)
#define XFS_SCRUB_FLAGS_OUT (XFS_SCRUB_OFLAG_CORRUPT | \
XFS_SCRUB_OFLAG_PREEN | \
XFS_SCRUB_OFLAG_XFAIL | \
@@ -815,7 +823,10 @@ struct xfs_scrub_vec_head {
struct xfs_scrub_vec svh_vecs[0];
};
-#define XFS_SCRUB_VEC_FLAGS_ALL (0)
+/* i: Don't mark inodes DONTCACHE at the end. */
+#define XFS_SCRUB_VEC_IFLAG_RETAIN_INODES (1 << 0)
+
+#define XFS_SCRUB_VEC_FLAGS_ALL (XFS_SCRUB_VEC_IFLAG_RETAIN_INODES)
static inline size_t sizeof_xfs_scrub_vec(unsigned int nr)
{