xfs: implement the metadata repair ioctl flag
Plumb in the pieces necessary to make the "scrub" subfunction of the scrub ioctl actually work. This means that we make the IFLAG_REPAIR flag to the scrub ioctl actually do something, and we add an errortag knob so that xfstests can force the kernel to rebuild a metadata structure even if there's nothing wrong with it. Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com> Reviewed-by: Dave Chinner <dchinner@redhat.com>
This commit is contained in:
@ -542,13 +542,20 @@ struct xfs_scrub_metadata {
|
||||
/* o: Metadata object looked funny but isn't corrupt. */
|
||||
#define XFS_SCRUB_OFLAG_WARNING (1 << 6)
|
||||
|
||||
/*
|
||||
* o: IFLAG_REPAIR was set but metadata object did not need fixing or
|
||||
* optimization and has therefore not been altered.
|
||||
*/
|
||||
#define XFS_SCRUB_OFLAG_NO_REPAIR_NEEDED (1 << 7)
|
||||
|
||||
#define XFS_SCRUB_FLAGS_IN (XFS_SCRUB_IFLAG_REPAIR)
|
||||
#define XFS_SCRUB_FLAGS_OUT (XFS_SCRUB_OFLAG_CORRUPT | \
|
||||
XFS_SCRUB_OFLAG_PREEN | \
|
||||
XFS_SCRUB_OFLAG_XFAIL | \
|
||||
XFS_SCRUB_OFLAG_XCORRUPT | \
|
||||
XFS_SCRUB_OFLAG_INCOMPLETE | \
|
||||
XFS_SCRUB_OFLAG_WARNING)
|
||||
XFS_SCRUB_OFLAG_WARNING | \
|
||||
XFS_SCRUB_OFLAG_NO_REPAIR_NEEDED)
|
||||
#define XFS_SCRUB_FLAGS_ALL (XFS_SCRUB_FLAGS_IN | XFS_SCRUB_FLAGS_OUT)
|
||||
|
||||
/*
|
||||
|
Reference in New Issue
Block a user