/drivers/staging/lustre/lustre/lov/ |
H A D | Makefile | 1 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
|
H A D | lovsub_object.c | 45 /** \addtogroup lov 79 struct lov_object *lov = los->lso_super; local 81 /* We can't assume lov was assigned here, because of the shadow 84 if (lov) { 85 LASSERT(lov->lo_type == LLT_RAID0); 86 LASSERT(lov->u.raid0.lo_sub[los->lso_index] == los); 87 spin_lock(&lov->u.raid0.lo_sub_lock); 88 lov->u.raid0.lo_sub[los->lso_index] = NULL; 89 spin_unlock(&lov->u.raid0.lo_sub_lock); 108 struct lov_object *lov local [all...] |
H A D | lov_ea.c | 36 * lustre/lov/lov_ea.c 212 int lsm_unpackmd_v1(struct lov_obd *lov, struct lov_stripe_md *lsm, argument 230 if (loi->loi_ost_idx >= lov->desc.ld_tgt_count) { 232 loi->loi_ost_idx, lov->desc.ld_tgt_count); 236 if (!lov->lov_tgts[loi->loi_ost_idx]) { 242 lov_tgt_maxbytes(lov->lov_tgts[loi->loi_ost_idx], 248 lsm->lsm_maxbytes = stripe_maxbytes * lov->desc.ld_tgt_count; 290 int lsm_unpackmd_v3(struct lov_obd *lov, struct lov_stripe_md *lsm, argument 317 if (loi->loi_ost_idx >= lov->desc.ld_tgt_count) { 319 loi->loi_ost_idx, lov [all...] |
H A D | lov_pack.c | 36 * lustre/lov/lov_pack.c 135 struct lov_obd *lov = &obd->u.lov; local 166 stripe_count = lov_get_stripecnt(lov, lmm_magic, 180 lov->lov_ocd.ocd_max_easize, lmm_magic); 182 if (stripe_count > lov->desc.ld_tgt_count) 183 stripe_count = lov->desc.ld_tgt_count; 252 __u16 lov_get_stripecnt(struct lov_obd *lov, __u32 magic, __u16 stripe_count) argument 257 stripe_count = lov->desc.ld_default_stripe_count; 258 if (stripe_count > lov 358 struct lov_obd *lov = &obd->u.lov; local [all...] |
H A D | lov_request.c | 120 struct lov_obd *lov = &set->set_exp->exp_obd->u.lov; local 125 if (rc && !(lov->lov_tgts[req->rq_idx] && 126 lov->lov_tgts[req->rq_idx]->ltd_active)) 140 static int lov_check_set(struct lov_obd *lov, int idx) argument 145 mutex_lock(&lov->lov_lock); 146 tgt = lov->lov_tgts[idx]; 150 mutex_unlock(&lov->lov_lock); 159 int lov_check_and_wait_active(struct lov_obd *lov, int ost_idx) argument 166 mutex_lock(&lov 286 struct lov_obd *lov = &exp->exp_obd->u.lov; local 366 struct lov_obd *lov = &exp->exp_obd->u.lov; local 441 struct lov_obd *lov = &req->rq_rqset->set_exp->exp_obd->u.lov; local 482 struct lov_obd *lov = &exp->exp_obd->u.lov; local 659 struct lov_obd *lov; local 707 struct lov_obd *lov = &obd->u.lov; local [all...] |
H A D | lovsub_lock.c | 45 /** \addtogroup lov 65 static void lovsub_parent_lock(const struct lu_env *env, struct lov_lock *lov) argument 69 parent = lov->lls_cl.cls_lock; 75 static void lovsub_parent_unlock(const struct lu_env *env, struct lov_lock *lov) argument 79 parent = lov->lls_cl.cls_lock; 80 cl_lock_mutex_put(env, lov->lls_cl.cls_lock); 100 struct lov_lock *lov = scan->lll_super; local 101 struct cl_lock *parent = lov->lls_cl.cls_lock; 104 lovsub_parent_lock(env, lov); 106 lovsub_parent_unlock(env, lov); 119 struct lov_lock *lov; local 145 lovsub_lock_descr_map(const struct cl_lock_descr *in, struct lov_object *lov, int stripe, struct cl_lock_descr *out) argument 190 lov_sublock_modify(const struct lu_env *env, struct lov_lock *lov, struct lovsub_lock *sublock, const struct cl_lock_descr *d, int idx) argument 229 struct lov_lock *lov; local 273 lovsub_lock_delete_one(const struct lu_env *env, struct cl_lock *child, struct lov_lock *lov) argument 398 struct lov_lock *lov; local 426 struct lov_lock *lov; local [all...] |
H A D | lproc_lov.c | 50 desc = &dev->u.lov.desc; 63 desc = &dev->u.lov.desc; 80 desc = &dev->u.lov.desc; 93 desc = &dev->u.lov.desc; 109 desc = &dev->u.lov.desc; 121 desc = &dev->u.lov.desc; 138 desc = &dev->u.lov.desc; 151 desc = &dev->u.lov.desc; 168 desc = &dev->u.lov.desc; 179 desc = &dev->u.lov 187 struct lov_obd *lov; local 198 struct lov_obd *lov = &dev->u.lov; local 215 struct lov_obd *lov = &dev->u.lov; local [all...] |
H A D | lov_lock.c | 45 /** \addtogroup lov 128 lu_ref_add(&parent->cll_reference, "lov-child", sublock); 166 descr, "lov-parent", parent); 387 cl_lock_unhold(env, sublock, "lov-parent", parent); 421 cl_lock_hold_add(env, sublock, "lov-parent", parent); 523 cl_lock_unhold(env, sublock, "lov-parent", parent); 535 * Implementation of cl_lock_operations::clo_enqueue() for lov layer. This 859 struct lov_object *loo = cl2lov(lov->lls_cl.cls_obj); 873 for (i = 0; i < lov->lls_nr; ++i) { 874 sub = &lov 897 lov_lock_stripe_is_matching(const struct lu_env *env, struct lov_object *lov, int stripe, const struct cl_lock_descr *child, const struct cl_lock_descr *descr) argument 952 struct lov_lock *lov = cl2lov_lock(slice); local [all...] |
H A D | lov_pool.c | 36 * lustre/lov/lov_pool.c 53 _p->pool_lobd->u.lov.lov_tgts[_p->pool_obds.op_array[_i]] 426 struct lov_obd *lov; local 430 lov = &(obd->u.lov); 461 new_pool->pool_proc_entry = lprocfs_add_simple(lov->lov_pool_proc_entry, 473 list_add_tail(&new_pool->pool_list, &lov->lov_pool_list); 474 lov->lov_pool_count++; 478 rc = cfs_hash_add_unique(lov->lov_pools_hash_body, poolname, 486 poolname, lov 507 struct lov_obd *lov; local 538 struct lov_obd *lov; local 585 struct lov_obd *lov; local 654 lov_find_pool(struct lov_obd *lov, char *poolname) argument [all...] |
H A D | lov_io.c | 46 /** \addtogroup lov 138 struct lov_object *lov = lio->lis_object; local 139 struct lov_device *ld = lu2lov_dev(lov2cl(lov)->co_lu.lo_dev); 187 sub_obj = lovsub2cl(lov_r0(lov)->lo_sub[stripe]); 353 struct lov_object *lov = cl2lov(ios->cis_obj); local 364 LASSERT(atomic_read(&lov->lo_active_ios) > 0); 365 if (atomic_dec_and_test(&lov->lo_active_ios)) 366 wake_up_all(&lov->lo_waitq); 544 * lov implementation of cl_operations::cio_submit() method. It takes a list 807 * Empty lov i 814 struct lov_object *lov = cl2lov(ios->cis_obj); local 885 struct lov_object *lov = cl2lov(obj); local 902 struct lov_object *lov = cl2lov(obj); local 939 struct lov_object *lov = cl2lov(obj); local [all...] |
H A D | lov_object.c | 46 /** \addtogroup lov 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, 98 struct lov_device *dev, struct lov_object *lov, 106 struct lov_object *lov, 123 static int lov_init_sub(const struct lu_env *env, struct lov_object *lov, argument 88 lov_install_empty(const struct lu_env *env, struct lov_object *lov, union lov_layout_state *state) argument 97 lov_init_empty(const struct lu_env *env, struct lov_device *dev, struct lov_object *lov, const struct cl_object_conf *conf, union lov_layout_state *state) argument 105 lov_install_raid0(const struct lu_env *env, struct lov_object *lov, union lov_layout_state *state) argument 194 lov_init_raid0(const struct lu_env *env, struct lov_device *dev, struct lov_object *lov, const struct cl_object_conf *conf, union lov_layout_state *state) argument 261 lov_init_released(const struct lu_env *env, struct lov_device *dev, struct lov_object *lov, const struct cl_object_conf *conf, union lov_layout_state *state) argument 276 lov_delete_empty(const struct lu_env *env, struct lov_object *lov, union lov_layout_state *state) argument 287 lov_subobject_kill(const struct lu_env *env, struct lov_object *lov, struct lovsub_object *los, int idx) argument 334 lov_delete_raid0(const struct lu_env *env, struct lov_object *lov, union lov_layout_state *state) argument 362 lov_fini_empty(const struct lu_env *env, struct lov_object *lov, union lov_layout_state *state) argument 368 lov_fini_raid0(const struct lu_env *env, struct lov_object *lov, union lov_layout_state *state) argument 382 lov_fini_released(const struct lu_env *env, struct lov_object *lov, union lov_layout_state *state) argument 399 struct lov_object *lov = lu2lov(o); local 424 struct lov_object *lov = lu2lov(o); local 452 struct lov_object *lov = cl2lov(obj); local 575 lov_conf_freeze(struct lov_object *lov) argument 581 lov_conf_thaw(struct lov_object *lov) argument 619 lov_conf_lock(struct lov_object *lov) argument 627 lov_conf_unlock(struct lov_object *lov) argument 633 lov_layout_wait(const struct lu_env *env, struct lov_object *lov) argument 648 lov_layout_change(const struct lu_env *unused, struct lov_object *lov, const struct cl_object_conf *conf) argument 719 struct lov_object *lov = lu2lov(obj); local 744 struct lov_object *lov = cl2lov(obj); local 796 struct lov_object *lov = lu2lov(obj); local 803 struct lov_object *lov = lu2lov(obj); local 887 struct lov_object *lov; local 907 lov_lsm_addref(struct lov_object *lov) argument 922 lov_lsm_decref(struct lov_object *lov, struct lov_stripe_md *lsm) argument 964 struct lov_object *lov = lu2lov(luobj); local [all...] |
H A D | lov_cl_internal.h | 55 /** \defgroup lov lov 58 * At the lov layer top-entity (object, page, lock, io) is connected to one or 91 * To implement a connection between top and sub entities, lov layer is split 92 * into two pieces: lov ("upper half"), and lovsub ("bottom half"), both 94 * lov layers, and it's sub-object has lovsub and osc layers. lovsub layer is 143 * XXX Locking of lov-private data is missing. 188 * lov-specific file state. 190 * lov object has particular layout type, determining how top-object is built 305 * lov 678 lov2lu_dev(struct lov_device *lov) argument 711 lov2lu(struct lov_object *lov) argument 716 lov2cl(struct lov_object *lov) argument 815 lov_targets_nr(const struct lov_device *lov) argument 829 lov_r0(struct lov_object *lov) argument [all...] |
H A D | lov_obd.c | 36 * lustre/lov/lov_obd.c 63 /* Keep a refcount of lov->tgt usage to prevent racing with addition/deletion. 67 struct lov_obd *lov = &obd->u.lov; local 70 mutex_lock(&lov->lov_lock); 71 atomic_inc(&lov->lov_refcount); 72 mutex_unlock(&lov->lov_lock); 80 struct lov_obd *lov = &obd->u.lov; local 82 mutex_lock(&lov 125 struct lov_obd *lov = &obd->u.lov; local 221 struct lov_obd *lov = &obd->u.lov; local 273 struct lov_obd *lov = &obd->u.lov; local 317 struct lov_obd *lov = &obd->u.lov; local 358 struct lov_obd *lov = &obd->u.lov; local 441 struct lov_obd *lov = &obd->u.lov; local 484 struct lov_obd *lov = &obd->u.lov; local 521 struct lov_obd *lov = &obd->u.lov; local 657 struct lov_obd *lov = &obd->u.lov; local 773 struct lov_obd *lov = &obd->u.lov; local 851 struct lov_obd *lov = &obd->u.lov; local 873 struct lov_obd *lov = &obd->u.lov; local 994 struct lov_obd *lov = &exp->exp_obd->u.lov; local 1044 struct lov_obd *lov; local 1089 struct lov_obd *lov; local 1155 struct lov_obd *lov; local 1230 struct lov_obd *lov; local 1299 struct lov_obd *lov; local 1345 struct lov_obd *lov; local 1405 struct lov_obd *lov = &obddev->u.lov; local 1725 lov_fiemap(struct lov_obd *lov, __u32 keylen, void *key, __u32 *vallen, void *val, struct lov_stripe_md *lsm) argument 1962 struct lov_obd *lov = &obddev->u.lov; local 2067 struct lov_obd *lov = &obddev->u.lov; local 2197 struct lov_obd *lov = &obd->u.lov; local 2258 struct lov_obd *lov = &obd->u.lov; local [all...] |
/drivers/staging/lustre/lustre/include/ |
H A D | obd.h | 98 struct ost_id lw_object_oi; /* lov object id/seq */ 100 /* LOV-private members start here -- only for use in lov/. */ 145 /* obd info for a particular level (lov, osc). */ 449 struct obd_export *ec_exp; /* the local connection to osc/lov */ 548 struct obd_device *pool_lobd; /* obd of the lov/lod to which 647 #define LUSTRE_LOV_NAME "lov" 906 struct lov_obd lov; member in union:obd_device::__anon6604 1377 int (*lsm_unpackmd)(struct lov_obd *lov, struct lov_stripe_md *lsm,
|