X-Git-Url: https://git.whamcloud.com/?p=fs%2Flustre-release.git;a=blobdiff_plain;f=lustre%2Finclude%2Flustre_scrub.h;h=b5d06c39645d0c9a42779b41ea72dfcdf86f2477;hp=a4eb139e2a80fa65270ee729c00c201253625f93;hb=da1d93513fdff0a70257b13aa5649e478d4f70b6;hpb=23a6e1ed8eec2c07653ed07c35bb109ecb87a5b7 diff --git a/lustre/include/lustre_scrub.h b/lustre/include/lustre_scrub.h index a4eb139..b5d06c3 100644 --- a/lustre/include/lustre_scrub.h +++ b/lustre/include/lustre_scrub.h @@ -262,7 +262,7 @@ struct lustre_scrub { /* Object for the scrub file. */ struct dt_object *os_obj; - struct ptlrpc_thread os_thread; + struct task_struct *os_task; struct list_head os_inconsistent_items; /* write lock for scrub prep/update/post/checkpoint, @@ -300,7 +300,9 @@ struct lustre_scrub { os_convert_igif:1, os_partial_scan:1, os_in_join:1, - os_full_scrub:1; + os_running:1, /* scrub thread is running */ + os_full_scrub:1, + os_has_ml_file:1; }; #define INDEX_BACKUP_MAGIC_V1 0x1E41F208 @@ -344,6 +346,10 @@ void scrub_file_reset(struct lustre_scrub *scrub, uuid_t uuid, u64 flags); int scrub_file_load(const struct lu_env *env, struct lustre_scrub *scrub); int scrub_file_store(const struct lu_env *env, struct lustre_scrub *scrub); int scrub_checkpoint(const struct lu_env *env, struct lustre_scrub *scrub); +int scrub_thread_prep(const struct lu_env *env, struct lustre_scrub *scrub, + uuid_t uuid, u64 start); +int scrub_thread_post(const struct lu_env *env, struct lustre_scrub *scrub, + int result); int scrub_start(int (*threadfn)(void *data), struct lustre_scrub *scrub, void *data, __u32 flags); void scrub_stop(struct lustre_scrub *scrub);