Create an ioctl that can be used to scrub internal filesystem metadata. The new ioctl takes the metadata type, an (optional) AG number, and a flags argument. This will be used by the upcoming XFS online scrub tool. Signed-off-by: Darrick J. Wong <darrick.wong@xxxxxxxxxx> --- libxfs/xfs_fs.h | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/libxfs/xfs_fs.h b/libxfs/xfs_fs.h index 11149fa..6cb3cff 100644 --- a/libxfs/xfs_fs.h +++ b/libxfs/xfs_fs.h @@ -548,6 +548,21 @@ typedef struct xfs_swapext #define XFS_FSOP_GOING_FLAGS_LOGFLUSH 0x1 /* flush log but not data */ #define XFS_FSOP_GOING_FLAGS_NOLOGFLUSH 0x2 /* don't flush log nor data */ +/* metadata scrubbing */ +struct xfs_scrub_metadata { + __u32 type; /* What to check? */ + __u32 flags; /* Flags; none defined right now. */ + __u64 control; /* AG or inode number */ + __u64 reserved[6]; /* Must be zero. */ +}; + +/* + * Metadata types and flags for scrub operation. + */ +#define XFS_SCRUB_TYPE_MAX 0 + +#define XFS_SCRUB_FLAGS_ALL 0x0 /* no flags yet */ + /* * ioctl limits */ @@ -588,6 +603,7 @@ typedef struct xfs_swapext #define XFS_IOC_ZERO_RANGE _IOW ('X', 57, struct xfs_flock64) #define XFS_IOC_FREE_EOFBLOCKS _IOR ('X', 58, struct xfs_fs_eofblocks) #define XFS_IOC_GETFSMAP _IOWR('X', 59, struct getfsmap) +#define XFS_IOC_SCRUB_METADATA _IOR ('X', 60, struct xfs_scrub_metadata) /* * ioctl commands that replace IRIX syssgi()'s _______________________________________________ xfs mailing list xfs@xxxxxxxxxxx http://oss.sgi.com/mailman/listinfo/xfs