[PATCH 05/24] xfs: create an ioctl to scrub AG metadata
From: Darrick J. Wong <hidden>
Date: 2016-08-25 23:55:56
Subsystem:
the rest · Maintainer:
Linus Torvalds
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 <redacted> --- 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@oss.sgi.com http://oss.sgi.com/mailman/listinfo/xfs