X-Git-Url: https://git.whamcloud.com/?p=fs%2Flustre-release.git;a=blobdiff_plain;f=lustre%2Fobdclass%2Flprocfs_status_server.c;h=290e4e519a35dc61c0949f5b2d8fde0d2e1d8fbe;hp=b7215dd27d058033dea246bd15f9f1f479d467e3;hb=907a321c9b9e2cd5f5ccf488cc516ba05dee0ad8;hpb=b66962c0f92b29353ac255400783e9b0faa9c2e3 diff --git a/lustre/obdclass/lprocfs_status_server.c b/lustre/obdclass/lprocfs_status_server.c index b7215dd..290e4e5 100644 --- a/lustre/obdclass/lprocfs_status_server.c +++ b/lustre/obdclass/lprocfs_status_server.c @@ -154,16 +154,8 @@ void lprocfs_free_per_client_stats(struct obd_device *obd) } EXPORT_SYMBOL(lprocfs_free_per_client_stats); -int lprocfs_exp_nid_seq_show(struct seq_file *m, void *data) -{ - struct obd_export *exp = m->private; - LASSERT(exp != NULL); - return seq_printf(m, "%s\n", obd_export_nid2str(exp)); -} - static int lprocfs_exp_print_uuid_seq(cfs_hash_t *hs, cfs_hash_bd_t *bd, struct hlist_node *hnode, void *cb_data) - { struct seq_file *m = cb_data; struct obd_export *exp = cfs_hash_object(hs, hnode); @@ -287,7 +279,7 @@ int lprocfs_exp_setup(struct obd_export *exp, lnet_nid_t *nid) struct nid_stat *new_stat, *old_stat; struct obd_device *obd = NULL; struct proc_dir_entry *entry; - char *buffer = NULL; + char nidstr[LNET_NIDSTR_SIZE]; int rc = 0; ENTRY; @@ -301,6 +293,8 @@ int lprocfs_exp_setup(struct obd_export *exp, lnet_nid_t *nid) if (nid == NULL || *nid == LNET_NID_ANY) RETURN(-EALREADY); + libcfs_nid2str_r(*nid, nidstr, sizeof(nidstr)); + spin_lock(&exp->exp_lock); if (exp->exp_nid_stats != NULL) { spin_unlock(&exp->exp_lock); @@ -324,8 +318,7 @@ int lprocfs_exp_setup(struct obd_export *exp, lnet_nid_t *nid) old_stat = cfs_hash_findadd_unique(obd->obd_nid_stats_hash, nid, &new_stat->nid_hash); CDEBUG(D_INFO, "Found stats %p for nid %s - ref %d\n", - old_stat, libcfs_nid2str(*nid), - atomic_read(&new_stat->nid_exp_ref_count)); + old_stat, nidstr, atomic_read(&old_stat->nid_exp_ref_count)); /* Return -EALREADY here so that we know that the /proc * entry already has been created */ @@ -340,21 +333,15 @@ int lprocfs_exp_setup(struct obd_export *exp, lnet_nid_t *nid) GOTO(destroy_new, rc = -EALREADY); } /* not found - create */ - OBD_ALLOC(buffer, LNET_NIDSTR_SIZE); - if (buffer == NULL) - GOTO(destroy_new, rc = -ENOMEM); - - memcpy(buffer, libcfs_nid2str(*nid), LNET_NIDSTR_SIZE); - new_stat->nid_proc = lprocfs_seq_register(buffer, - obd->obd_proc_exports_entry, - NULL, NULL); - OBD_FREE(buffer, LNET_NIDSTR_SIZE); + new_stat->nid_proc = lprocfs_register(nidstr, + obd->obd_proc_exports_entry, + NULL, NULL); if (IS_ERR(new_stat->nid_proc)) { rc = PTR_ERR(new_stat->nid_proc); new_stat->nid_proc = NULL; CERROR("%s: cannot create proc entry for export %s: rc = %d\n", - obd->obd_name, libcfs_nid2str(*nid), rc); + obd->obd_name, nidstr, rc); GOTO(destroy_new_ns, rc); } @@ -417,7 +404,6 @@ int lprocfs_exp_cleanup(struct obd_export *exp) return 0; } -EXPORT_SYMBOL(lprocfs_exp_cleanup); #define LPROCFS_OBD_OP_INIT(base, stats, op) \ do { \ @@ -456,8 +442,6 @@ void lprocfs_init_ops_stats(int num_private_stats, struct lprocfs_stats *stats) LPROCFS_OBD_OP_INIT(num_private_stats, stats, getattr_async); LPROCFS_OBD_OP_INIT(num_private_stats, stats, preprw); LPROCFS_OBD_OP_INIT(num_private_stats, stats, commitrw); - LPROCFS_OBD_OP_INIT(num_private_stats, stats, change_cbdata); - LPROCFS_OBD_OP_INIT(num_private_stats, stats, find_cbdata); LPROCFS_OBD_OP_INIT(num_private_stats, stats, init_export); LPROCFS_OBD_OP_INIT(num_private_stats, stats, destroy_export); LPROCFS_OBD_OP_INIT(num_private_stats, stats, import_event);