X-Git-Url: https://git.whamcloud.com/?a=blobdiff_plain;f=lustre%2Fosd-ldiskfs%2Fosd_scrub.h;h=ac966ab36462109f26cf87d56ea895a55fa57fa9;hb=1269923f82b305dbfe1c90bb92914f2093b73a86;hp=f5eb375c4c54e1a9446d5d1470d0f95bd23e4140;hpb=0c1ef56346b1df6eddfca761bb422186db27a575;p=fs%2Flustre-release.git diff --git a/lustre/osd-ldiskfs/osd_scrub.h b/lustre/osd-ldiskfs/osd_scrub.h index f5eb375..ac966ab 100644 --- a/lustre/osd-ldiskfs/osd_scrub.h +++ b/lustre/osd-ldiskfs/osd_scrub.h @@ -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,23 @@ 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(). */ +enum scrub_internal_flags { + /* This is a new formatted device. */ + SIF_NO_HANDLE_OLD_FID = 0x0001, }; struct scrub_file { @@ -158,8 +176,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 +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. */ @@ -211,7 +230,13 @@ 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, + 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 */