/* 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,
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
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);