- 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);
- }
+#ifdef CONFIG_PROC_FS
+ /* get ref for /proc file */
+ lov_pool_getref(new_pool);
+ new_pool->pool_proc_entry = lprocfs_add_simple(lov->lov_pool_proc_entry,
+ poolname, new_pool,
+ &pool_proc_operations);
+ if (IS_ERR(new_pool->pool_proc_entry)) {
+ CWARN("Cannot add proc pool entry "LOV_POOLNAMEF"\n", poolname);
+ new_pool->pool_proc_entry = NULL;
+ lov_pool_putref(new_pool);
+ }
+ CDEBUG(D_INFO, "pool %p - proc %p\n",
+ new_pool, new_pool->pool_proc_entry);
+#endif