X-Git-Url: https://git.whamcloud.com/?a=blobdiff_plain;f=lustre%2Flod%2Flod_pool.c;h=d71c25c13a90afe30dbd0773c764b51cf4aa1fc1;hb=1bdf0d6fcbe11efdf67ebdb09f04955b9ce88de4;hp=c9d490127eb5cd68b8d23ec0e1dbbe01e6ec6bdb;hpb=bba6066ccffbea51b89b39e25ac3a0007491fae8;p=fs%2Flustre-release.git diff --git a/lustre/lod/lod_pool.c b/lustre/lod/lod_pool.c index c9d4901..d71c25c 100644 --- a/lustre/lod/lod_pool.c +++ b/lustre/lod/lod_pool.c @@ -26,6 +26,8 @@ /* * Copyright 2008 Sun Microsystems, Inc. All rights reserved * Use is subject to license terms. + * + * Copyright (c) 2012, Intel Corporation. */ /* * This file is part of Lustre, http://www.lustre.org/ @@ -181,14 +183,14 @@ static void *pool_proc_next(struct seq_file *s, void *v, loff_t *pos) /* iterate to find a non empty entry */ prev_idx = iter->idx; - cfs_down_read(&pool_tgt_rw_sem(iter->pool)); + down_read(&pool_tgt_rw_sem(iter->pool)); iter->idx++; if (iter->idx == pool_tgt_count(iter->pool)) { iter->idx = prev_idx; /* we stay on the last entry */ - cfs_up_read(&pool_tgt_rw_sem(iter->pool)); + up_read(&pool_tgt_rw_sem(iter->pool)); return NULL; } - cfs_up_read(&pool_tgt_rw_sem(iter->pool)); + up_read(&pool_tgt_rw_sem(iter->pool)); (*pos)++; /* return != NULL to continue */ return iter; @@ -252,15 +254,15 @@ static void pool_proc_stop(struct seq_file *s, void *v) static int pool_proc_show(struct seq_file *s, void *v) { struct pool_iterator *iter = (struct pool_iterator *)v; - struct lod_ost_desc *osc_desc; + struct lod_tgt_desc *osc_desc; LASSERTF(iter->magic == POOL_IT_MAGIC, "%08X", iter->magic); LASSERT(iter->pool != NULL); LASSERT(iter->idx <= pool_tgt_count(iter->pool)); - cfs_down_read(&pool_tgt_rw_sem(iter->pool)); + down_read(&pool_tgt_rw_sem(iter->pool)); osc_desc = pool_tgt(iter->pool, iter->idx); - cfs_up_read(&pool_tgt_rw_sem(iter->pool)); + up_read(&pool_tgt_rw_sem(iter->pool)); if (osc_desc) seq_printf(s, "%s\n", obd_uuid2str(&(osc_desc->ltd_uuid))); @@ -302,7 +304,7 @@ void lod_dump_pool(int level, struct pool_desc *pool) CDEBUG(level, "pool "LOV_POOLNAMEF" has %d members\n", pool->pool_name, pool->pool_obds.op_count); - cfs_down_read(&pool_tgt_rw_sem(pool)); + down_read(&pool_tgt_rw_sem(pool)); for (i = 0; i < pool_tgt_count(pool) ; i++) { if (!pool_tgt(pool, i) || !(pool_tgt(pool, i))->ltd_exp) @@ -312,7 +314,7 @@ void lod_dump_pool(int level, struct pool_desc *pool) obd_uuid2str(&((pool_tgt(pool, i))->ltd_uuid))); } - cfs_up_read(&pool_tgt_rw_sem(pool)); + up_read(&pool_tgt_rw_sem(pool)); lod_pool_putref(pool); } @@ -325,7 +327,7 @@ int lod_ost_pool_init(struct ost_pool *op, unsigned int count) count = LOD_POOL_INIT_COUNT; op->op_array = NULL; op->op_count = 0; - cfs_init_rwsem(&op->op_rw_sem); + init_rwsem(&op->op_rw_sem); op->op_size = count; OBD_ALLOC(op->op_array, op->op_size * sizeof(op->op_array[0])); if (op->op_array == NULL) { @@ -365,7 +367,7 @@ int lod_ost_pool_add(struct ost_pool *op, __u32 idx, unsigned int min_count) int rc = 0, i; ENTRY; - cfs_down_write(&op->op_rw_sem); + down_write(&op->op_rw_sem); rc = lod_ost_pool_extend(op, min_count); if (rc) @@ -381,7 +383,7 @@ int lod_ost_pool_add(struct ost_pool *op, __u32 idx, unsigned int min_count) op->op_count++; EXIT; out: - cfs_up_write(&op->op_rw_sem); + up_write(&op->op_rw_sem); return rc; } @@ -390,20 +392,20 @@ int lod_ost_pool_remove(struct ost_pool *op, __u32 idx) int i; ENTRY; - cfs_down_write(&op->op_rw_sem); + down_write(&op->op_rw_sem); for (i = 0; i < op->op_count; i++) { if (op->op_array[i] == idx) { memmove(&op->op_array[i], &op->op_array[i + 1], (op->op_count - i - 1) * sizeof(op->op_array[0])); op->op_count--; - cfs_up_write(&op->op_rw_sem); + up_write(&op->op_rw_sem); EXIT; return 0; } } - cfs_up_write(&op->op_rw_sem); + up_write(&op->op_rw_sem); RETURN(-EINVAL); } @@ -414,14 +416,14 @@ int lod_ost_pool_free(struct ost_pool *op) if (op->op_size == 0) RETURN(0); - cfs_down_write(&op->op_rw_sem); + down_write(&op->op_rw_sem); OBD_FREE(op->op_array, op->op_size * sizeof(op->op_array[0])); op->op_array = NULL; op->op_count = 0; op->op_size = 0; - cfs_up_write(&op->op_rw_sem); + up_write(&op->op_rw_sem); RETURN(0); } @@ -471,10 +473,10 @@ int lod_pool_new(struct obd_device *obd, char *poolname) CDEBUG(D_INFO, "pool %p - proc %p\n", new_pool, new_pool->pool_proc_entry); #endif - cfs_spin_lock(&obd->obd_dev_lock); + spin_lock(&obd->obd_dev_lock); cfs_list_add_tail(&new_pool->pool_list, &lod->lod_pool_list); lod->lod_pool_count++; - cfs_spin_unlock(&obd->obd_dev_lock); + spin_unlock(&obd->obd_dev_lock); /* add to find only when it fully ready */ rc = cfs_hash_add_unique(lod->lod_pools_hash_body, poolname, @@ -488,10 +490,10 @@ int lod_pool_new(struct obd_device *obd, char *poolname) RETURN(0); out_err: - cfs_spin_lock(&obd->obd_dev_lock); + spin_lock(&obd->obd_dev_lock); cfs_list_del_init(&new_pool->pool_list); lod->lod_pool_count--; - cfs_spin_unlock(&obd->obd_dev_lock); + spin_unlock(&obd->obd_dev_lock); lprocfs_remove(&new_pool->pool_proc_entry); @@ -519,10 +521,10 @@ int lod_pool_del(struct obd_device *obd, char *poolname) lod_pool_putref(pool); } - cfs_spin_lock(&obd->obd_dev_lock); + spin_lock(&obd->obd_dev_lock); cfs_list_del_init(&pool->pool_list); lod->lod_pool_count--; - cfs_spin_unlock(&obd->obd_dev_lock); + spin_unlock(&obd->obd_dev_lock); /* release last reference */ lod_pool_putref(pool); @@ -547,7 +549,7 @@ int lod_pool_add(struct obd_device *obd, char *poolname, char *ostname) obd_str2uuid(&ost_uuid, ostname); /* search ost in lod array */ - lod_getref(lod); + lod_getref(&lod->lod_ost_descs); lod_foreach_ost(lod, idx) { if (obd_uuid_equals(&ost_uuid, &OST_TGT(lod, idx)->ltd_uuid)) { rc = 0; @@ -569,7 +571,7 @@ int lod_pool_add(struct obd_device *obd, char *poolname, char *ostname) EXIT; out: - lod_putref(lod); + lod_putref(lod, &lod->lod_ost_descs); lod_pool_putref(pool); return rc; } @@ -589,7 +591,7 @@ int lod_pool_remove(struct obd_device *obd, char *poolname, char *ostname) obd_str2uuid(&ost_uuid, ostname); - lod_getref(lod); + lod_getref(&lod->lod_ost_descs); /* search ost in lod array, to get index */ cfs_foreach_bit(lod->lod_ost_bitmap, idx) { if (obd_uuid_equals(&ost_uuid, &OST_TGT(lod, idx)->ltd_uuid)) { @@ -611,7 +613,7 @@ int lod_pool_remove(struct obd_device *obd, char *poolname, char *ostname) EXIT; out: - lod_putref(lod); + lod_putref(lod, &lod->lod_ost_descs); lod_pool_putref(pool); return rc; } @@ -627,7 +629,7 @@ int lod_check_index_in_pool(__u32 idx, struct pool_desc *pool) */ lod_pool_getref(pool); - cfs_down_read(&pool_tgt_rw_sem(pool)); + down_read(&pool_tgt_rw_sem(pool)); for (i = 0; i < pool_tgt_count(pool); i++) { if (pool_tgt_array(pool)[i] == idx) @@ -636,7 +638,7 @@ int lod_check_index_in_pool(__u32 idx, struct pool_desc *pool) rc = -ENOENT; EXIT; out: - cfs_up_read(&pool_tgt_rw_sem(pool)); + up_read(&pool_tgt_rw_sem(pool)); lod_pool_putref(pool); return rc;