diff options
Diffstat (limited to 'fs/xfs/libxfs/xfs_fs.h')
-rw-r--r-- | fs/xfs/libxfs/xfs_fs.h | 17 |
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) { |