X-Git-Url: https://git.whamcloud.com/?a=blobdiff_plain;f=lustre%2Fptlrpc%2Fnodemap_lproc.c;h=43c38f805cd2fccbdb5e734b8acca2631a796c28;hb=d231bc874075672d3302727e53baef8f4dd03287;hp=f18d1b49aab2e12c185270c5894d43877276694c;hpb=83f04354ff68a14d7492e35a9576c91492a1206c;p=fs%2Flustre-release.git diff --git a/lustre/ptlrpc/nodemap_lproc.c b/lustre/ptlrpc/nodemap_lproc.c index f18d1b4..43c38f8 100644 --- a/lustre/ptlrpc/nodemap_lproc.c +++ b/lustre/ptlrpc/nodemap_lproc.c @@ -21,6 +21,9 @@ */ /* * Copyright (C) 2013, Trustees of Indiana University + * + * Copyright (c) 2014, Intel Corporation. + * * Author: Joshua Walgenbach */ @@ -110,6 +113,8 @@ static int nodemap_ranges_show(struct seq_file *m, void *data) struct lu_nodemap *nodemap = m->private; struct lu_nid_range *range; struct interval_node_extent ext; + char start_nidstr[LNET_NIDSTR_SIZE]; + char end_nidstr[LNET_NIDSTR_SIZE]; bool cont = false; seq_printf(m, "[\n"); @@ -119,10 +124,10 @@ static int nodemap_ranges_show(struct seq_file *m, void *data) seq_printf(m, ",\n"); cont = 1; ext = range->rn_node.in_extent; - seq_printf(m, " { id: %u, start_nid: %s, " - "end_nid: %s }", - range->rn_id, libcfs_nid2str(ext.start), - libcfs_nid2str(ext.end)); + libcfs_nid2str_r(ext.start, start_nidstr, sizeof(start_nidstr)); + libcfs_nid2str_r(ext.end, end_nidstr, sizeof(end_nidstr)); + seq_printf(m, " { id: %u, start_nid: %s, end_nid: %s }", + range->rn_id, start_nidstr, end_nidstr); } read_unlock(&nm_range_tree_lock); seq_printf(m, "\n"); @@ -159,13 +164,16 @@ static int nodemap_exports_show_cb(cfs_hash_t *hs, cfs_hash_bd_t *bd, { struct seq_file *m = data; struct obd_export *exp; - char *key; + char nidstr[LNET_NIDSTR_SIZE] = ""; exp = hlist_entry(hnode, struct obd_export, exp_target_data.ted_nodemap_member); - key = cfs_hash_key(hs, hnode); + if (exp->exp_connection != NULL) + libcfs_nid2str_r(exp->exp_connection->c_peer.nid, + nidstr, sizeof(nidstr)); + seq_printf(m, " { nid: %s, uuid: %s },", - obd_export_nid2str(exp), exp->exp_client_uuid.uuid); + nidstr, exp->exp_client_uuid.uuid); return 0; } @@ -180,7 +188,7 @@ static int nodemap_exports_show_cb(cfs_hash_t *hs, cfs_hash_bd_t *bd, */ static int nodemap_exports_show(struct seq_file *m, void *data) { - struct lu_nodemap *nodemap = m->private; + struct lu_nodemap *nodemap = m->private; seq_printf(m, "[\n"); @@ -201,8 +209,7 @@ static int nodemap_exports_show(struct seq_file *m, void *data) */ static int nodemap_exports_open(struct inode *inode, struct file *file) { - struct proc_dir_entry *dir = PDE(inode); - struct lu_nodemap *nodemap = dir->data; + struct lu_nodemap *nodemap = PDE_DATA(inode); return single_open(file, nodemap_exports_show, nodemap); } @@ -880,7 +887,7 @@ out: LPROC_SEQ_FOPS_WO_TYPE(nodemap, del_nodemap_idmap); #endif /* NODEMAP_PROC_DEBUG */ -static struct lprocfs_seq_vars lprocfs_nm_module_vars[] = { +static struct lprocfs_vars lprocfs_nm_module_vars[] = { { .name = "active", .fops = &nodemap_active_fops, @@ -949,7 +956,7 @@ const struct file_operations nodemap_exports_fops = { .release = single_release }; -static struct lprocfs_seq_vars lprocfs_nodemap_vars[] = { +static struct lprocfs_vars lprocfs_nodemap_vars[] = { { .name = "id", .fops = &nodemap_id_fops, @@ -987,7 +994,7 @@ static struct lprocfs_seq_vars lprocfs_nodemap_vars[] = { } }; -static struct lprocfs_seq_vars lprocfs_default_nodemap_vars[] = { +static struct lprocfs_vars lprocfs_default_nodemap_vars[] = { { .name = "id", .fops = &nodemap_id_fops, @@ -1026,18 +1033,16 @@ int nodemap_procfs_init(void) { int rc = 0; - proc_lustre_nodemap_root = lprocfs_seq_register(LUSTRE_NODEMAP_NAME, - proc_lustre_root, - lprocfs_nm_module_vars, - NULL); - + proc_lustre_nodemap_root = lprocfs_register(LUSTRE_NODEMAP_NAME, + proc_lustre_root, + lprocfs_nm_module_vars, + NULL); if (IS_ERR(proc_lustre_nodemap_root)) { rc = PTR_ERR(proc_lustre_nodemap_root); CERROR("cannot create 'nodemap' directory: rc = %d\n", rc); proc_lustre_nodemap_root = NULL; } - return rc; } @@ -1057,16 +1062,14 @@ int lprocfs_nodemap_register(const char *name, if (is_default) nodemap_proc_entry = - lprocfs_seq_register(name, - proc_lustre_nodemap_root, - lprocfs_default_nodemap_vars, - nodemap); + lprocfs_register(name, proc_lustre_nodemap_root, + lprocfs_default_nodemap_vars, + nodemap); else nodemap_proc_entry = - lprocfs_seq_register(name, - proc_lustre_nodemap_root, - lprocfs_nodemap_vars, - nodemap); + lprocfs_register(name, proc_lustre_nodemap_root, + lprocfs_nodemap_vars, + nodemap); if (IS_ERR(nodemap_proc_entry)) { rc = PTR_ERR(nodemap_proc_entry);