Home
last modified time | relevance | path

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

/linux-4.1.27/drivers/staging/lustre/lustre/lov/
Dlov_object.c59 struct lov_object *lov,
62 int (*llo_delete)(const struct lu_env *env, struct lov_object *lov,
64 void (*llo_fini)(const struct lu_env *env, struct lov_object *lov,
66 void (*llo_install)(const struct lu_env *env, struct lov_object *lov,
81 static int lov_layout_wait(const struct lu_env *env, struct lov_object *lov);
90 struct lov_object *lov, in lov_install_empty() argument
99 struct lov_device *dev, struct lov_object *lov, in lov_init_empty() argument
107 struct lov_object *lov, in lov_install_raid0() argument
124 static int lov_init_sub(const struct lu_env *env, struct lov_object *lov, in lov_init_sub() argument
145 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()
89 lov->lov_death_row); in lov_putref()
90 for (i = 0; i < lov->desc.ld_tgt_count; i++) { in lov_putref()
91 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()
82 desc = &dev->u.lov.desc; in lov_stripeoffset_seq_show()
97 desc = &dev->u.lov.desc; in lov_stripeoffset_seq_write()
113 desc = &dev->u.lov.desc; in lov_stripetype_seq_show()
127 desc = &dev->u.lov.desc; in lov_stripetype_seq_write()
144 desc = &dev->u.lov.desc; in lov_stripecount_seq_show()
158 desc = &dev->u.lov.desc; in lov_stripecount_seq_write()
175 desc = &dev->u.lov.desc; in lov_numobd_seq_show()
187 desc = &dev->u.lov.desc; in lov_activeobd_seq_show()
[all …]
Dlov_pool.c53 _p->pool_lobd->u.lov.lov_tgts[_p->pool_obds.op_array[_i]]
426 struct lov_obd *lov; in lov_pool_new() local
430 lov = &(obd->u.lov); in lov_pool_new()
461 new_pool->pool_proc_entry = lprocfs_add_simple(lov->lov_pool_proc_entry, in lov_pool_new()
473 list_add_tail(&new_pool->pool_list, &lov->lov_pool_list); in lov_pool_new()
474 lov->lov_pool_count++; in lov_pool_new()
478 rc = cfs_hash_add_unique(lov->lov_pools_hash_body, poolname, in lov_pool_new()
486 poolname, lov->lov_pool_count); in lov_pool_new()
493 lov->lov_pool_count--; in lov_pool_new()
507 struct lov_obd *lov; in lov_pool_del() local
[all …]
Dlov_request.c120 struct lov_obd *lov = &set->set_exp->exp_obd->u.lov; in lov_update_common_set() local
125 if (rc && !(lov->lov_tgts[req->rq_idx] && in lov_update_common_set()
126 lov->lov_tgts[req->rq_idx]->ltd_active)) in lov_update_common_set()
140 static int lov_check_set(struct lov_obd *lov, int idx) in lov_check_set() argument
145 mutex_lock(&lov->lov_lock); in lov_check_set()
146 tgt = lov->lov_tgts[idx]; in lov_check_set()
150 mutex_unlock(&lov->lov_lock); in lov_check_set()
159 int lov_check_and_wait_active(struct lov_obd *lov, int ost_idx) in lov_check_and_wait_active() argument
166 mutex_lock(&lov->lov_lock); in lov_check_and_wait_active()
168 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_cl_internal.h610 int lov_sublock_modify(const struct lu_env *env, struct lov_lock *lov,
640 void lov_lsm_decref(struct lov_object *lov, struct lov_stripe_md *lsm);
641 struct lov_stripe_md *lov_lsm_addref(struct lov_object *lov);
643 #define lov_foreach_target(lov, var) \ argument
644 for (var = 0; var < lov_targets_nr(lov); ++var)
678 static inline struct lu_device *lov2lu_dev(struct lov_device *lov) in lov2lu_dev() argument
680 return &lov->ld_cl.cd_lu_dev; in lov2lu_dev()
711 static inline struct lu_object *lov2lu(struct lov_object *lov) in lov2lu() argument
713 return &lov->lo_cl.co_lu; in lov2lu()
716 static inline struct cl_object *lov2cl(struct lov_object *lov) in lov2cl() argument
[all …]
Dlov_pack.c135 struct lov_obd *lov = &obd->u.lov; in lov_packmd() local
166 stripe_count = lov_get_stripecnt(lov, lmm_magic, in lov_packmd()
180 lov->lov_ocd.ocd_max_easize, lmm_magic); in lov_packmd()
182 if (stripe_count > lov->desc.ld_tgt_count) in lov_packmd()
183 stripe_count = lov->desc.ld_tgt_count; in lov_packmd()
252 __u16 lov_get_stripecnt(struct lov_obd *lov, __u32 magic, __u16 stripe_count) in lov_get_stripecnt() argument
257 stripe_count = lov->desc.ld_default_stripe_count; in lov_get_stripecnt()
258 if (stripe_count > lov->desc.ld_active_tgt_count) in lov_get_stripecnt()
259 stripe_count = lov->desc.ld_active_tgt_count; in lov_get_stripecnt()
265 if (lov->lov_ocd.ocd_connect_flags & OBD_CONNECT_MAX_EASIZE && in lov_get_stripecnt()
[all …]
Dlov_ea.c212 static int lsm_unpackmd_v1(struct lov_obd *lov, struct lov_stripe_md *lsm, in lsm_unpackmd_v1() argument
233 if (loi->loi_ost_idx >= lov->desc.ld_tgt_count) { in lsm_unpackmd_v1()
235 loi->loi_ost_idx, lov->desc.ld_tgt_count); in lsm_unpackmd_v1()
239 if (!lov->lov_tgts[loi->loi_ost_idx]) { in lsm_unpackmd_v1()
245 lov_tgt_maxbytes(lov->lov_tgts[loi->loi_ost_idx], in lsm_unpackmd_v1()
251 lsm->lsm_maxbytes = stripe_maxbytes * lov->desc.ld_tgt_count; in lsm_unpackmd_v1()
293 static int lsm_unpackmd_v3(struct lov_obd *lov, struct lov_stripe_md *lsm, in lsm_unpackmd_v3() argument
323 if (loi->loi_ost_idx >= lov->desc.ld_tgt_count) { in lsm_unpackmd_v3()
325 loi->loi_ost_idx, lov->desc.ld_tgt_count); in lsm_unpackmd_v3()
329 if (!lov->lov_tgts[loi->loi_ost_idx]) { in lsm_unpackmd_v3()
[all …]
DMakefile1 obj-$(CONFIG_LUSTRE_FS) += lov.o
2 lov-y := lov_obd.o lov_pack.o lov_offset.o lov_merge.o \
6 lov-$(CONFIG_PROC_FS) += lproc_lov.o
Dlov_io.c138 struct lov_object *lov = lio->lis_object; in lov_io_sub_init() local
139 struct lov_device *ld = lu2lov_dev(lov2cl(lov)->co_lu.lo_dev); in lov_io_sub_init()
151 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()
356 struct lov_object *lov = cl2lov(ios->cis_obj); in lov_io_fini() local
367 LASSERT(atomic_read(&lov->lo_active_ios) > 0); in lov_io_fini()
368 if (atomic_dec_and_test(&lov->lo_active_ios)) in lov_io_fini()
369 wake_up_all(&lov->lo_waitq); in lov_io_fini()
826 struct lov_object *lov = cl2lov(ios->cis_obj); in lov_empty_io_fini() local
828 if (atomic_dec_and_test(&lov->lo_active_ios)) in lov_empty_io_fini()
[all …]
Dlov_lock.c861 struct lov_object *loo = cl2lov(lov->lls_cl.cls_obj);
875 for (i = 0; i < lov->lls_nr; ++i) {
876 sub = &lov->lls_sub[i];
900 struct lov_object *lov, int stripe, in lov_lock_stripe_is_matching() argument
904 struct lov_stripe_md *lsm = lov->lo_lsm; in lov_lock_stripe_is_matching()
909 if (lov_r0(lov)->lo_nr == 1) in lov_lock_stripe_is_matching()
917 start = cl_offset(&lov->lo_cl, descr->cld_start); in lov_lock_stripe_is_matching()
918 end = cl_offset(&lov->lo_cl, descr->cld_end + 1) - 1; in lov_lock_stripe_is_matching()
926 unlikely(lov_r0(lov)->lo_sub[idx] == NULL)) { in lov_lock_stripe_is_matching()
929 unlikely(lov_r0(lov)->lo_sub[idx] == NULL)) in lov_lock_stripe_is_matching()
[all …]
Dlov_internal.h195 void qos_update(struct lov_obd *lov);
196 void qos_statfs_done(struct lov_obd *lov);
207 int lov_check_and_wait_active(struct lov_obd *lov, int ost_idx);
237 __u16 lov_get_stripecnt(struct lov_obd *lov, __u32 magic, __u16 stripe_count);
296 struct pool_desc *lov_find_pool(struct lov_obd *lov, char *poolname);
Dlov_dev.c193 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.1.27/drivers/staging/lustre/lustre/
DMakefile2 fid/ lov/ mdc/ lmv/ llite/ obdecho/
/linux-4.1.27/drivers/staging/lustre/lustre/include/
Dobd.h906 struct lov_obd lov; member
1377 int (*lsm_unpackmd)(struct lov_obd *lov, struct lov_stripe_md *lsm,