/* 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,
__u64 os_new_checked;
__u64 os_pos_current;
__u32 os_start_flags;
+ /* Some of these bits can be set by different threads so
+ * all updates must be protected by ->os_lock to avoid
+ * racing read-modify-write cycles causing corruption.
+ */
unsigned int os_in_prior:1, /* process inconsistent item
* found by RPC prior */
os_waiting:1, /* Waiting for scan window. */
os_convert_igif:1,
os_partial_scan:1,
os_in_join:1,
+ os_running:1, /* scrub thread is running */
os_full_scrub:1;
};