Home
last modified time | relevance | path

Searched refs:lov (Results 1 – 18 of 18) sorted by relevance

/linux-4.4.14/drivers/staging/lustre/lustre/lov/
Dlov_object.c58 struct lov_object *lov,
61 int (*llo_delete)(const struct lu_env *env, struct lov_object *lov,
63 void (*llo_fini)(const struct lu_env *env, struct lov_object *lov,
65 void (*llo_install)(const struct lu_env *env, struct lov_object *lov,
80 static int lov_layout_wait(const struct lu_env *env, struct lov_object *lov);
89 struct lov_object *lov, in lov_install_empty() argument
98 struct lov_device *dev, struct lov_object *lov, in lov_init_empty() argument
106 struct lov_object *lov, in lov_install_raid0() argument
123 static int lov_init_sub(const struct lu_env *env, struct lov_object *lov, in lov_init_sub() argument
144 hdr = cl_object_header(lov2cl(lov)); in lov_init_sub()
[all …]
Dlov_obd.c67 struct lov_obd *lov = &obd->u.lov; in lov_getref() local
70 mutex_lock(&lov->lov_lock); in lov_getref()
71 atomic_inc(&lov->lov_refcount); in lov_getref()
72 mutex_unlock(&lov->lov_lock); in lov_getref()
80 struct lov_obd *lov = &obd->u.lov; in lov_putref() local
82 mutex_lock(&lov->lov_lock); in lov_putref()
84 if (atomic_dec_and_test(&lov->lov_refcount) && lov->lov_death_row) { in lov_putref()
90 lov->lov_death_row); in lov_putref()
91 for (i = 0; i < lov->desc.ld_tgt_count; i++) { in lov_putref()
92 tgt = lov->lov_tgts[i]; in lov_putref()
[all …]
Dlovsub_lock.c65 static void lovsub_parent_lock(const struct lu_env *env, struct lov_lock *lov) in lovsub_parent_lock() argument
69 parent = lov->lls_cl.cls_lock; in lovsub_parent_lock()
75 static void lovsub_parent_unlock(const struct lu_env *env, struct lov_lock *lov) in lovsub_parent_unlock() argument
79 parent = lov->lls_cl.cls_lock; in lovsub_parent_unlock()
80 cl_lock_mutex_put(env, lov->lls_cl.cls_lock); in lovsub_parent_unlock()
100 struct lov_lock *lov = scan->lll_super; in lovsub_lock_state() local
101 struct cl_lock *parent = lov->lls_cl.cls_lock; in lovsub_lock_state()
104 lovsub_parent_lock(env, lov); in lovsub_lock_state()
106 lovsub_parent_unlock(env, lov); in lovsub_lock_state()
119 struct lov_lock *lov; in lovsub_lock_weigh() local
[all …]
Dlproc_lov.c50 desc = &dev->u.lov.desc; in lov_stripesize_seq_show()
65 desc = &dev->u.lov.desc; in lov_stripesize_seq_write()
83 desc = &dev->u.lov.desc; in lov_stripeoffset_seq_show()
98 desc = &dev->u.lov.desc; in lov_stripeoffset_seq_write()
115 desc = &dev->u.lov.desc; in lov_stripetype_seq_show()
129 desc = &dev->u.lov.desc; in lov_stripetype_seq_write()
147 desc = &dev->u.lov.desc; in lov_stripecount_seq_show()
161 desc = &dev->u.lov.desc; in lov_stripecount_seq_write()
180 desc = &dev->u.lov.desc; in numobd_show()
192 desc = &dev->u.lov.desc; in activeobd_show()
[all …]
Dlov_pool.c53 _p->pool_lobd->u.lov.lov_tgts[_p->pool_obds.op_array[_i]]
402 struct lov_obd *lov; in lov_pool_new() local
406 lov = &(obd->u.lov); in lov_pool_new()
437 lov->lov_pool_debugfs_entry, in lov_pool_new()
450 list_add_tail(&new_pool->pool_list, &lov->lov_pool_list); in lov_pool_new()
451 lov->lov_pool_count++; in lov_pool_new()
455 rc = cfs_hash_add_unique(lov->lov_pools_hash_body, poolname, in lov_pool_new()
463 poolname, lov->lov_pool_count); in lov_pool_new()
470 lov->lov_pool_count--; in lov_pool_new()
484 struct lov_obd *lov; in lov_pool_del() local
[all …]
Dlov_request.c108 struct lov_obd *lov = &set->set_exp->exp_obd->u.lov; in lov_update_common_set() local
113 if (rc && !(lov->lov_tgts[req->rq_idx] && in lov_update_common_set()
114 lov->lov_tgts[req->rq_idx]->ltd_active)) in lov_update_common_set()
128 static int lov_check_set(struct lov_obd *lov, int idx) in lov_check_set() argument
133 mutex_lock(&lov->lov_lock); in lov_check_set()
134 tgt = lov->lov_tgts[idx]; in lov_check_set()
138 mutex_unlock(&lov->lov_lock); in lov_check_set()
147 int lov_check_and_wait_active(struct lov_obd *lov, int ost_idx) in lov_check_and_wait_active() argument
154 mutex_lock(&lov->lov_lock); in lov_check_and_wait_active()
156 tgt = lov->lov_tgts[ost_idx]; in lov_check_and_wait_active()
[all …]
Dlovsub_object.c79 struct lov_object *lov = los->lso_super; in lovsub_object_free() local
84 if (lov) { in lovsub_object_free()
85 LASSERT(lov->lo_type == LLT_RAID0); in lovsub_object_free()
86 LASSERT(lov->u.raid0.lo_sub[los->lso_index] == los); in lovsub_object_free()
87 spin_lock(&lov->u.raid0.lo_sub_lock); in lovsub_object_free()
88 lov->u.raid0.lo_sub[los->lso_index] = NULL; in lovsub_object_free()
89 spin_unlock(&lov->u.raid0.lo_sub_lock); in lovsub_object_free()
108 struct lov_object *lov = cl2lovsub(obj)->lso_super; in lovsub_attr_set() local
110 lov_r0(lov)->lo_attr_valid = 0; in lovsub_attr_set()
Dlov_pack.c115 struct lov_obd *lov = &obd->u.lov; in lov_packmd() local
146 stripe_count = lov_get_stripecnt(lov, lmm_magic, in lov_packmd()
160 lov->lov_ocd.ocd_max_easize, lmm_magic); in lov_packmd()
162 if (stripe_count > lov->desc.ld_tgt_count) in lov_packmd()
163 stripe_count = lov->desc.ld_tgt_count; in lov_packmd()
232 __u16 lov_get_stripecnt(struct lov_obd *lov, __u32 magic, __u16 stripe_count) in lov_get_stripecnt() argument
237 stripe_count = lov->desc.ld_default_stripe_count; in lov_get_stripecnt()
238 if (stripe_count > lov->desc.ld_active_tgt_count) in lov_get_stripecnt()
239 stripe_count = lov->desc.ld_active_tgt_count; in lov_get_stripecnt()
245 if (lov->lov_ocd.ocd_connect_flags & OBD_CONNECT_MAX_EASIZE && in lov_get_stripecnt()
[all …]
Dlov_cl_internal.h609 int lov_sublock_modify(const struct lu_env *env, struct lov_lock *lov,
638 #define lov_foreach_target(lov, var) \ argument
639 for (var = 0; var < lov_targets_nr(lov); ++var)
673 static inline struct lu_device *lov2lu_dev(struct lov_device *lov) in lov2lu_dev() argument
675 return &lov->ld_cl.cd_lu_dev; in lov2lu_dev()
706 static inline struct lu_object *lov2lu(struct lov_object *lov) in lov2lu() argument
708 return &lov->lo_cl.co_lu; in lov2lu()
711 static inline struct cl_object *lov2cl(struct lov_object *lov) in lov2cl() argument
713 return &lov->lo_cl; in lov2cl()
810 static inline int lov_targets_nr(const struct lov_device *lov) in lov_targets_nr() argument
[all …]
Dlov_ea.c210 static int lsm_unpackmd_v1(struct lov_obd *lov, struct lov_stripe_md *lsm, in lsm_unpackmd_v1() argument
231 if (loi->loi_ost_idx >= lov->desc.ld_tgt_count) { in lsm_unpackmd_v1()
233 loi->loi_ost_idx, lov->desc.ld_tgt_count); in lsm_unpackmd_v1()
237 if (!lov->lov_tgts[loi->loi_ost_idx]) { in lsm_unpackmd_v1()
243 lov_tgt_maxbytes(lov->lov_tgts[loi->loi_ost_idx], in lsm_unpackmd_v1()
249 lsm->lsm_maxbytes = stripe_maxbytes * lov->desc.ld_tgt_count; in lsm_unpackmd_v1()
291 static int lsm_unpackmd_v3(struct lov_obd *lov, struct lov_stripe_md *lsm, in lsm_unpackmd_v3() argument
321 if (loi->loi_ost_idx >= lov->desc.ld_tgt_count) { in lsm_unpackmd_v3()
323 loi->loi_ost_idx, lov->desc.ld_tgt_count); in lsm_unpackmd_v3()
327 if (!lov->lov_tgts[loi->loi_ost_idx]) { in lsm_unpackmd_v3()
[all …]
Dlov_io.c137 struct lov_object *lov = lio->lis_object; in lov_io_sub_init() local
138 struct lov_device *ld = lu2lov_dev(lov2cl(lov)->co_lu.lo_dev); in lov_io_sub_init()
150 if (unlikely(lov_r0(lov)->lo_sub[stripe] == NULL)) in lov_io_sub_init()
190 sub_obj = lovsub2cl(lov_r0(lov)->lo_sub[stripe]); in lov_io_sub_init()
358 struct lov_object *lov = cl2lov(ios->cis_obj); in lov_io_fini() local
368 LASSERT(atomic_read(&lov->lo_active_ios) > 0); in lov_io_fini()
369 if (atomic_dec_and_test(&lov->lo_active_ios)) in lov_io_fini()
370 wake_up_all(&lov->lo_waitq); in lov_io_fini()
829 struct lov_object *lov = cl2lov(ios->cis_obj); in lov_empty_io_fini() local
831 if (atomic_dec_and_test(&lov->lo_active_ios)) in lov_empty_io_fini()
[all …]
Dlov_lock.c860 struct lov_object *loo = cl2lov(lov->lls_cl.cls_obj);
874 for (i = 0; i < lov->lls_nr; ++i) {
875 sub = &lov->lls_sub[i];
899 struct lov_object *lov, int stripe, in lov_lock_stripe_is_matching() argument
903 struct lov_stripe_md *lsm = lov->lo_lsm; in lov_lock_stripe_is_matching()
908 if (lov_r0(lov)->lo_nr == 1) in lov_lock_stripe_is_matching()
916 start = cl_offset(&lov->lo_cl, descr->cld_start); in lov_lock_stripe_is_matching()
917 end = cl_offset(&lov->lo_cl, descr->cld_end + 1) - 1; in lov_lock_stripe_is_matching()
925 unlikely(lov_r0(lov)->lo_sub[idx] == NULL)) { in lov_lock_stripe_is_matching()
928 unlikely(lov_r0(lov)->lo_sub[idx] == NULL)) in lov_lock_stripe_is_matching()
[all …]
DMakefile1 obj-$(CONFIG_LUSTRE_FS) += lov.o
2 lov-y := lov_obd.o lov_pack.o lov_offset.o lov_merge.o \
Dlov_internal.h158 void qos_update(struct lov_obd *lov);
159 void qos_statfs_done(struct lov_obd *lov);
170 int lov_check_and_wait_active(struct lov_obd *lov, int ost_idx);
200 __u16 lov_get_stripecnt(struct lov_obd *lov, __u32 magic, __u16 stripe_count);
250 struct pool_desc *lov_find_pool(struct lov_obd *lov, char *poolname);
Dlov_dev.c194 LU_TYPE_INIT_FINI(lov, &lov_key, &lov_session_key);
406 tgt = obd->u.lov.lov_tgts[index]; in lov_cl_add_target()
502 ld->ld_lov = &obd->u.lov; in lov_device_alloc()
/linux-4.4.14/drivers/staging/lustre/lustre/
DMakefile2 fid/ lov/ mdc/ lmv/ llite/ obdecho/
/linux-4.4.14/drivers/staging/lustre/
Dsysfs-fs-lustre448 device (or biggest blocksize for compound devices like lov
457 devices like lov lmv)
465 like lov lmv)
473 devices like lov lmv) that is actually available for use
612 What: /sys/fs/lustre/lov/{connection_name}/numobd
618 What: /sys/fs/lustre/lov/{connection_name}/activeobd
/linux-4.4.14/drivers/staging/lustre/lustre/include/
Dobd.h775 struct lov_obd lov; member
1228 int (*lsm_unpackmd)(struct lov_obd *lov, struct lov_stripe_md *lsm,