int lad_prefetched;
int lad_assistant_status;
int lad_post_result;
- unsigned int lad_to_post:1,
- lad_to_double_scan:1,
- lad_in_double_scan:1,
- lad_exit:1,
- lad_incomplete:1;
+ unsigned long lad_flags;
bool lad_advance_lock;
};
+enum {
+ LAD_TO_POST = 0,
+ LAD_TO_DOUBLE_SCAN = 1,
+ LAD_IN_DOUBLE_SCAN = 2,
+ LAD_EXIT = 3,
+ LAD_INCOMPLETE = 4,
+};
#define LFSCK_TMPBUF_LEN 64
struct dt_object *obj, struct lustre_handle *lh,
__u64 bits, enum ldlm_mode mode);
void lfsck_ibits_unlock(struct lustre_handle *lh, enum ldlm_mode mode);
+int lfsck_remote_lookup_lock(const struct lu_env *env,
+ struct lfsck_instance *lfsck,
+ struct dt_object *pobj, struct dt_object *obj,
+ struct lustre_handle *lh, enum ldlm_mode mode);
int lfsck_lock(const struct lu_env *env, struct lfsck_instance *lfsck,
struct dt_object *obj, const char *name,
struct lfsck_lock_handle *llh, __u64 bits, enum ldlm_mode mode);
/* lfsck_striped_dir.c */
void lfsck_lmv_put(const struct lu_env *env, struct lfsck_lmv *llmv);
-int lfsck_read_stripe_lmv(const struct lu_env *env, struct dt_object *obj,
+int lfsck_read_stripe_lmv(const struct lu_env *env,
+ struct lfsck_instance *lfsck,
+ struct dt_object *obj,
struct lmv_mds_md_v1 *lmv);
int lfsck_shard_name_to_index(const struct lu_env *env, const char *name,
int namelen, __u16 type,
struct lfsck_lmv *llmv,
const char *name, int namelen);
int lfsck_namespace_check_name(const struct lu_env *env,
+ struct lfsck_instance *lfsck,
struct dt_object *parent,
struct dt_object *child,
const struct lu_name *cname);
if (likely(bitmap->size > index)) {
cfs_bitmap_set(bitmap, index);
- lad->lad_incomplete = 1;
+ set_bit(LAD_INCOMPLETE, &lad->lad_flags);
} else if (com->lc_type == LFSCK_TYPE_NAMESPACE) {
struct lfsck_namespace *ns = com->lc_file_ram;