-enum scrub_start {
- /* Set failout flag. */
- SS_SET_FAILOUT = 0x00000001,
-
- /* Clear failout flag. */
- SS_CLEAR_FAILOUT = 0x00000002,
-
- /* Reset scrub start position. */
- SS_RESET = 0x00000004,
-
- /* Trigger scrub automatically. */
- SS_AUTO = 0x00000008,
-};
-
-struct scrub_file {
- /* 128-bit uuid for volume. */
- __u8 sf_uuid[16];
-
- /* See 'enum scrub_flags'. */
- __u64 sf_flags;
-
- /* The scrub magic. */
- __u32 sf_magic;
-
- /* See 'enum scrub_status'. */
- __u16 sf_status;
-
- /* See 'enum scrub_param'. */
- __u16 sf_param;
-
- /* The time for the last OI scrub completed. */
- __u64 sf_time_last_complete;
-
- /* The time for the latest OI scrub ran. */
- __u64 sf_time_latest_start;
-
- /* The time for the last OI scrub checkpoint. */
- __u64 sf_time_last_checkpoint;
-
- /* The position for the latest OI scrub started from. */
- __u64 sf_pos_latest_start;
-
- /* The position for the last OI scrub checkpoint. */
- __u64 sf_pos_last_checkpoint;
-
- /* The position for the first should be updated object. */
- __u64 sf_pos_first_inconsistent;
-
- /* How many objects have been checked. */
- __u64 sf_items_checked;
-
- /* How many objects have been updated. */
- __u64 sf_items_updated;
-
- /* How many objects failed to be processed. */
- __u64 sf_items_failed;
-
- /* How many prior objects have been updated during scanning. */
- __u64 sf_items_updated_prior;
-
- /* How many objects marked as LDISKFS_STATE_LUSTRE_NOSCRUB. */
- __u64 sf_items_noscrub;
-
- /* How many IGIF objects. */
- __u64 sf_items_igif;
-
- /* How long the OI scrub has run. */
- __u32 sf_run_time;
-
- /* How many completed OI scrub ran on the device. */
- __u32 sf_success_count;
-
- /* How many OI files. */
- __u16 sf_oi_count;
-
- /* Update the magic or flags if want to use the reserved fields. */
- __u16 sf_reserved_0;
- __u32 sf_reserved_1;
- __u64 sf_reserved_2[16];
-
- /* Bitmap for OI files recreated case. */
- __u8 sf_oi_bitmap[SCRUB_OI_BITMAP_SIZE];