Whamcloud - gitweb
LU-6245 libcfs: remove prim wrappers for libcfs
[fs/lustre-release.git] / lustre / osd-ldiskfs / osd_scrub.h
index 03d90ab..ac966ab 100644 (file)
@@ -20,7 +20,7 @@
  * GPL HEADER END
  */
 /*
- * Copyright (c) 2012, 2013, Intel Corporation.
+ * Copyright (c) 2012, 2014, Intel Corporation.
  */
 /*
  * lustre/osd-ldiskfs/osd_scrub.h
@@ -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 {
@@ -93,8 +96,17 @@ enum scrub_start {
        /* Reset scrub start position. */
        SS_RESET                = 0x00000004,
 
-       /* Trigger scrub automatically. */
-       SS_AUTO                 = 0x00000008,
+       /* Trigger full scrub automatically. */
+       SS_AUTO_FULL            = 0x00000008,
+
+       /* Trigger partial scrub automatically. */
+       SS_AUTO_PARTIAL         = 0x00000010,
+
+       /* Set dryrun flag. */
+       SS_SET_DRYRUN           = 0x00000020,
+
+       /* Clear dryrun flag. */
+       SS_CLEAR_DRYRUN         = 0x00000040,
 };
 
 /* The flags here are only used inside OSD, NOT be visible by dump(). */
@@ -178,7 +190,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. */
@@ -219,7 +231,12 @@ struct osd_scrub {
                                os_waiting:1, /* Waiting for scan window. */
                                os_full_speed:1, /* run w/o speed limit */
                                os_paused:1, /* The scrub is paused. */
-                               os_convert_igif:1;
+                               os_convert_igif:1,
+                               os_partial_scan:1,
+                               os_in_join:1,
+                               os_full_scrub:1;
+       __u64                   os_bad_oimap_count;
+       __u64                   os_bad_oimap_time;
 };
 
 #endif /* _OSD_SCRUB_H */