spinlock_t lod_connects_lock;
int lod_connects;
unsigned int lod_recovery_completed:1,
- lod_initialized:1;
+ lod_initialized:1,
+ lod_lmv_failout:1;
/* lov settings descriptor storing static information */
struct lov_desc lod_desc;
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)];
-
+ /* used to hold lu_dirent, sizeof(struct lu_dirent) + NAME_MAX */
+ char lti_key[sizeof(struct lu_dirent) + NAME_MAX];
struct dt_object_format lti_format;
+ struct lu_name lti_name;
+ struct lu_buf lti_linkea_buf;
};
extern const struct lu_device_operations lod_lu_ops;
return info;
}
+static inline struct lu_name *
+lod_name_get(const struct lu_env *env, const void *area, int len)
+{
+ struct lu_name *lname;
+
+ lname = &lod_env_info(env)->lti_name;
+ lname->ln_name = area;
+ lname->ln_namelen = len;
+ return lname;
+}
+
#define lod_foreach_ost(__dev, index) \
if ((__dev)->lod_osts_size > 0) \
cfs_foreach_bit((__dev)->lod_ost_bitmap, (index))
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);
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);
/* lod_object.c */
+int lod_load_lmv_shards(const struct lu_env *env, struct lod_object *lo,
+ struct lu_buf *buf, bool resize);
int lod_object_set_pool(struct lod_object *o, char *pool);
int lod_declare_striped_object(const struct lu_env *env, struct dt_object *dt,
struct lu_attr *attr,