X-Git-Url: https://git.whamcloud.com/?a=blobdiff_plain;f=lustre%2Fmdt%2Fmdt_fs.c;h=2c3818270091496fa41074e9a41b30e765c6e5de;hb=e67c6e366752611ffd2baeb7cefa24c9f289eb78;hp=713ab880aca2fc05b86e1794dc221c67dbfd06eb;hpb=080aa17e3d436c4b707e49b3598edbc5eeaebb1b;p=fs%2Flustre-release.git diff --git a/lustre/mdt/mdt_fs.c b/lustre/mdt/mdt_fs.c index 713ab88..2c38182 100644 --- a/lustre/mdt/mdt_fs.c +++ b/lustre/mdt/mdt_fs.c @@ -50,6 +50,7 @@ int mdt_export_stats_init(struct obd_device *obd, { lnet_nid_t *client_nid = localdata; int rc, newnid; + ENTRY; rc = lprocfs_exp_setup(exp, client_nid, &newnid); if (rc) { @@ -57,20 +58,24 @@ int mdt_export_stats_init(struct obd_device *obd, * /proc entries */ if (rc == -EALREADY) rc = 0; - return rc; + RETURN(rc); } - if (newnid) { /* Always add in ldlm_stats */ exp->exp_nid_stats->nid_ldlm_stats = lprocfs_alloc_stats(LDLM_LAST_OPC - LDLM_FIRST_OPC, LPROCFS_STATS_FLAG_NOPERCPU); if (exp->exp_nid_stats->nid_ldlm_stats == NULL) - return -ENOMEM; + GOTO(clean, rc = -ENOMEM); lprocfs_init_ldlm_stats(exp->exp_nid_stats->nid_ldlm_stats); rc = lprocfs_register_stats(exp->exp_nid_stats->nid_proc, "ldlm_stats", exp->exp_nid_stats->nid_ldlm_stats); + if (rc) + GOTO(clean, rc); } + RETURN(0); + clean: + lprocfs_exp_cleanup(exp); return rc; }