- memset(&(new_pool->pool_rr), 0, sizeof(struct lov_qos_rr));
- rc = lov_ost_pool_init(&new_pool->pool_rr.lqr_pool, 0);
- if (rc) {
- lov_ost_pool_free(&new_pool->pool_obds);
- GOTO(out_err, rc);
- }
-
- INIT_HLIST_NODE(&new_pool->pool_hash);
- rc = lustre_hash_add_unique(lov->lov_pools_hash_body, poolname,
- &new_pool->pool_hash);
- if (rc) {
- lov_ost_pool_free(&new_pool->pool_rr.lqr_pool);
- lov_ost_pool_free(&new_pool->pool_obds);
- GOTO(out_err, rc = -EEXIST);
- }
-
- spin_lock(&obd->obd_dev_lock);
- list_add_tail(&new_pool->pool_list, &lov->lov_pool_list);
- lov->lov_pool_count++;
-
- spin_unlock(&obd->obd_dev_lock);
-
- CDEBUG(D_CONFIG, LOV_POOLNAMEF" is pool #%d\n",
- poolname, lov->lov_pool_count);