/linux-4.4.14/drivers/staging/lustre/lustre/lov/ |
D | lov_object.c | 58 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 …]
|
D | lov_obd.c | 67 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 …]
|
D | lovsub_lock.c | 65 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 …]
|
D | lproc_lov.c | 50 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 …]
|
D | lov_pool.c | 53 _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 …]
|
D | lov_request.c | 108 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 …]
|
D | lovsub_object.c | 79 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()
|
D | lov_pack.c | 115 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 …]
|
D | lov_cl_internal.h | 609 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 …]
|
D | lov_ea.c | 210 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 …]
|
D | lov_io.c | 137 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 …]
|
D | lov_lock.c | 860 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 …]
|
D | Makefile | 1 obj-$(CONFIG_LUSTRE_FS) += lov.o 2 lov-y := lov_obd.o lov_pack.o lov_offset.o lov_merge.o \
|
D | lov_internal.h | 158 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);
|
D | lov_dev.c | 194 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/ |
D | Makefile | 2 fid/ lov/ mdc/ lmv/ llite/ obdecho/
|
/linux-4.4.14/drivers/staging/lustre/ |
D | sysfs-fs-lustre | 448 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/ |
D | obd.h | 775 struct lov_obd lov; member 1228 int (*lsm_unpackmd)(struct lov_obd *lov, struct lov_stripe_md *lsm,
|