Whamcloud - gitweb
LU-3963 ptlrpc: convert to linux list api
[fs/lustre-release.git] / lustre / osd-ldiskfs / osd_scrub.h
index f5eb375..f046e33 100644 (file)
@@ -81,6 +81,9 @@ enum scrub_flags {
 enum scrub_param {
        /* Exit when fail. */
        SP_FAILOUT      = 0x0001,
+
+       /* Check only without repairing. */
+       SP_DRYRUN       = 0x0002,
 };
 
 enum scrub_start {
@@ -95,6 +98,18 @@ enum scrub_start {
 
        /* Trigger scrub automatically. */
        SS_AUTO                 = 0x00000008,
+
+       /* Set dryrun flag. */
+       SS_SET_DRYRUN           = 0x00000010,
+
+       /* Clear dryrun flag. */
+       SS_CLEAR_DRYRUN         = 0x00000020,
+};
+
+/* The flags here are only used inside OSD, NOT be visible by dump(). */
+enum scrub_internal_flags {
+       /* This is a new formatted device. */
+       SIF_NO_HANDLE_OLD_FID   = 0x0001,
 };
 
 struct scrub_file {
@@ -158,8 +173,9 @@ struct scrub_file {
        /* How many OI files. */
        __u16   sf_oi_count;
 
-       /* Update the magic or flags if want to use the reserved fields. */
-       __u16   sf_reserved_0;
+       /* Keep the flags after scrub reset. See 'enum scrub_internal_flags' */
+       __u16   sf_internal_flags;
+
        __u32   sf_reserved_1;
        __u64   sf_reserved_2[16];
 
@@ -171,7 +187,7 @@ struct osd_scrub {
        struct lvfs_run_ctxt    os_ctxt;
        struct ptlrpc_thread    os_thread;
        struct osd_idmap_cache  os_oic;
-       cfs_list_t              os_inconsistent_items;
+       struct list_head        os_inconsistent_items;
 
        /* write lock for scrub prep/update/post/checkpoint,
         * read lock for scrub dump. */
@@ -211,7 +227,8 @@ struct osd_scrub {
                                                * found by RPC prior */
                                os_waiting:1, /* Waiting for scan window. */
                                os_full_speed:1, /* run w/o speed limit */
-                               os_paused:1; /* The scrub is paused. */
+                               os_paused:1, /* The scrub is paused. */
+                               os_convert_igif:1;
 };
 
 #endif /* _OSD_SCRUB_H */