X-Git-Url: https://git.whamcloud.com/?a=blobdiff_plain;f=lustre%2Flod%2Flod_internal.h;h=af1457cbc5c218c362aeb57354273c42aeab0915;hb=47cde804ddc9019ff0793229030211d536d0612f;hp=c3b1bc302afe6e4bc94e929bc96f2af804b0dfdd;hpb=e88992a3b5b9d9ba0a69883671f1b5888514e05d;p=fs%2Flustre-release.git diff --git a/lustre/lod/lod_internal.h b/lustre/lod/lod_internal.h index c3b1bc3..af1457c 100644 --- a/lustre/lod/lod_internal.h +++ b/lustre/lod/lod_internal.h @@ -260,6 +260,9 @@ struct lod_object { struct lod_it { struct dt_object *lit_obj; /* object from the layer below */ + /* stripe offset of iteration */ + __u32 lit_stripe_index; + __u32 lit_attr; struct dt_it *lit_it; /* iterator from the layer below */ }; @@ -275,6 +278,11 @@ struct lod_thread_info { struct lu_attr lti_attr; struct lod_it lti_it; struct ldlm_res_id lti_res_id; + + /* used to hold lu_dirent, NAME_MAX + sizeof(struct lu_dirent) */ + char lti_key[NAME_MAX + sizeof(struct lu_dirent)]; + + struct dt_object_format lti_format; }; extern const struct lu_device_operations lod_lu_ops; @@ -368,7 +376,8 @@ int lod_del_device(const struct lu_env *env, struct lod_device *lod, unsigned gen, bool for_ost); int lod_fini_tgt(const struct lu_env *env, struct lod_device *lod, struct lod_tgt_descs *ltd, bool for_ost); -int lod_load_striping(const struct lu_env *env, struct lod_object *mo); +int lod_load_striping_locked(const struct lu_env *env, struct lod_object *lo); +int lod_load_striping(const struct lu_env *env, struct lod_object *lo); int lod_get_ea(const struct lu_env *env, struct lod_object *lo, const char *name); @@ -405,7 +414,8 @@ int lod_initialize_objects(const struct lu_env *env, struct lod_object *mo, struct lov_ost_data_v1 *objs); int lod_store_def_striping(const struct lu_env *env, struct dt_object *dt, struct thandle *th); -int lod_verify_striping(struct lod_device *d, const struct lu_buf *buf, int specific); +int lod_verify_striping(struct lod_device *d, const struct lu_buf *buf, + bool is_from_disk); int lod_generate_and_set_lovea(const struct lu_env *env, struct lod_object *mo, struct thandle *th); int lod_ea_store_resize(struct lod_thread_info *info, int size); @@ -432,7 +442,6 @@ int qos_add_tgt(struct lod_device*, struct lod_tgt_desc *); int qos_del_tgt(struct lod_device *, struct lod_tgt_desc *); /* lproc_lod.c */ -void lprocfs_lod_init_vars(struct lprocfs_static_vars *lvars); int lod_procfs_init(struct lod_device *lod); void lod_procfs_fini(struct lod_device *lod);