void lprocfs_mdt_init_vars(struct lprocfs_static_vars *lvars);
void lprocfs_mds_init_vars(struct lprocfs_static_vars *lvars);
int mdt_procfs_init(struct mdt_device *mdt, const char *name);
-int mdt_procfs_fini(struct mdt_device *mdt);
+void mdt_procfs_fini(struct mdt_device *mdt);
void mdt_rename_counter_tally(struct mdt_thread_info *info,
struct mdt_device *mdt,
struct ptlrpc_request *req,
RETURN(rc);
}
-int mdt_procfs_fini(struct mdt_device *mdt)
+void mdt_procfs_fini(struct mdt_device *mdt)
{
struct lu_device *ld = &mdt->mdt_md_dev.md_lu_dev;
struct obd_device *obd = ld->ld_obd;
- lprocfs_job_stats_fini(obd);
-
if (obd->obd_proc_exports_entry) {
lprocfs_remove_proc_entry("clear", obd->obd_proc_exports_entry);
obd->obd_proc_exports_entry = NULL;
ptlrpc_lprocfs_unregister_obd(obd);
lprocfs_free_md_stats(obd);
lprocfs_free_obd_stats(obd);
-
- RETURN(0);
+ lprocfs_job_stats_fini(obd);
}
static int lprocfs_rd_identity_expire(char *page, char **start, off_t off,
return rc;
}
-int lproc_mgs_cleanup(struct mgs_device *mgs)
+void lproc_mgs_cleanup(struct mgs_device *mgs)
{
struct obd_device *obd = mgs->mgs_obd;
- if (!obd)
- return -EINVAL;
+ if (obd == NULL)
+ return;
if (mgs->mgs_proc_osd != NULL)
lprocfs_remove(&mgs->mgs_proc_osd);
mgs->mgs_proc_live = NULL;
}
lprocfs_free_per_client_stats(obd);
+ lprocfs_obd_cleanup(obd);
lprocfs_free_obd_stats(obd);
lprocfs_free_md_stats(obd);
-
- return lprocfs_obd_cleanup(obd);
}
static int mgs_live_seq_show(struct seq_file *seq, void *v)
#define strsuf(buf, suffix) (strcmp((buf)+strlen(buf)-strlen(suffix), (suffix)))
#ifdef LPROCFS
int lproc_mgs_setup(struct mgs_device *mgs, char *osd_name);
-int lproc_mgs_cleanup(struct mgs_device *mgs);
+void lproc_mgs_cleanup(struct mgs_device *mgs);
int lproc_mgs_add_live(struct mgs_device *mgs, struct fs_db *fsdb);
int lproc_mgs_del_live(struct mgs_device *mgs, struct fs_db *fsdb);
void lprocfs_mgs_init_vars(struct lprocfs_static_vars *lvars);
rc = lproc_ofd_attach_seqstat(obd);
if (rc) {
CERROR("%s: create seqstat failed: %d.\n", obd->obd_name, rc);
- GOTO(free_obd_stats, rc);
+ GOTO(obd_cleanup, rc);
}
entry = lprocfs_register("exports", obd->obd_proc_entry, NULL, NULL);
rc = PTR_ERR(entry);
CERROR("%s: error %d setting up lprocfs for %s\n",
obd->obd_name, rc, "exports");
- GOTO(free_obd_stats, rc);
+ GOTO(obd_cleanup, rc);
}
obd->obd_proc_exports_entry = entry;
rc = PTR_ERR(entry);
CERROR("%s: add proc entry 'clear' failed: %d.\n",
obd->obd_name, rc);
- GOTO(free_obd_stats, rc);
+ GOTO(obd_cleanup, rc);
}
rc = lprocfs_job_stats_init(obd, LPROC_OFD_STATS_LAST,
RETURN(0);
remove_entry_clear:
lprocfs_remove_proc_entry("clear", obd->obd_proc_exports_entry);
-free_obd_stats:
- lprocfs_free_obd_stats(obd);
obd_cleanup:
lprocfs_obd_cleanup(obd);
+ lprocfs_free_obd_stats(obd);
+
return rc;
}
-static int ofd_procfs_fini(struct ofd_device *ofd)
+static void ofd_procfs_fini(struct ofd_device *ofd)
{
struct obd_device *obd = ofd_obd(ofd);
- lprocfs_job_stats_fini(obd);
lprocfs_remove_proc_entry("clear", obd->obd_proc_exports_entry);
lprocfs_free_per_client_stats(obd);
- lprocfs_free_obd_stats(obd);
lprocfs_obd_cleanup(obd);
- return 0;
+ lprocfs_free_obd_stats(obd);
+ lprocfs_job_stats_fini(obd);
}
extern int ost_handle(struct ptlrpc_request *req);