Make api more consistent by removing convenience pointer from ibnd_node_t and requiring ibnd_fabric_t passed to all functions (in this case ibnd_update_node).
Al -- Albert Chu ch...@llnl.gov Computer Scientist High Performance Systems Division Lawrence Livermore National Laboratory
>From a6f7c6bea7f3549bb0bd24a4304f9dc3aa4b73ac Mon Sep 17 00:00:00 2001 From: Albert Chu <ch...@llnl.gov> Date: Tue, 7 Jul 2009 09:57:26 -0700 Subject: [PATCH] Make api more consistent by removing convenience pointer from ibnd_node_t and requiring ibnd_fabric_t passed to all functions (in this case ibnd_update_node). Signed-off-by: Albert Chu <ch...@llnl.gov> Signed-off-by: Ira Weiny <wei...@llnl.gov> --- .../libibnetdisc/include/infiniband/ibnetdisc.h | 3 +-- infiniband-diags/libibnetdisc/src/chassis.c | 7 +++---- infiniband-diags/libibnetdisc/src/ibnetdisc.c | 5 ++--- 3 files changed, 6 insertions(+), 9 deletions(-) diff --git a/infiniband-diags/libibnetdisc/include/infiniband/ibnetdisc.h b/infiniband-diags/libibnetdisc/include/infiniband/ibnetdisc.h index c7d293c..5f07805 100644 --- a/infiniband-diags/libibnetdisc/include/infiniband/ibnetdisc.h +++ b/infiniband-diags/libibnetdisc/include/infiniband/ibnetdisc.h @@ -47,7 +47,6 @@ struct port; /* forward declare */ */ typedef struct node { struct node *next; /* all node list in fabric */ - struct ib_fabric *fabric; /* the fabric node belongs to */ ib_portid_t path_portid; /* path from "from_node" */ int dist; /* num of hops from "from_node" */ @@ -161,7 +160,7 @@ MAD_EXPORT void ibnd_destroy_fabric(ibnd_fabric_t *fabric); */ MAD_EXPORT ibnd_node_t *ibnd_find_node_guid(ibnd_fabric_t *fabric, uint64_t guid); MAD_EXPORT ibnd_node_t *ibnd_find_node_dr(ibnd_fabric_t *fabric, char *dr_str); -MAD_EXPORT ibnd_node_t *ibnd_update_node(ibnd_node_t *node); +MAD_EXPORT ibnd_node_t *ibnd_update_node(ibnd_fabric_t *fabric, ibnd_node_t *node); typedef void (*ibnd_iter_node_func_t)(ibnd_node_t *node, void *user_data); MAD_EXPORT void ibnd_iter_nodes(ibnd_fabric_t *fabric, diff --git a/infiniband-diags/libibnetdisc/src/chassis.c b/infiniband-diags/libibnetdisc/src/chassis.c index dbb0abe..78aee1f 100644 --- a/infiniband-diags/libibnetdisc/src/chassis.c +++ b/infiniband-diags/libibnetdisc/src/chassis.c @@ -197,9 +197,8 @@ static uint64_t get_chassisguid(ibnd_node_t *node) return sysimgguid; } -static ibnd_chassis_t *find_chassisguid(ibnd_node_t *node) +static ibnd_chassis_t *find_chassisguid(struct ibnd_fabric *f, ibnd_node_t *node) { - struct ibnd_fabric *f = CONV_FABRIC_INTERNAL(node->fabric); ibnd_chassis_t *current; uint64_t chguid; @@ -790,7 +789,7 @@ ibnd_chassis_t *group_nodes(struct ibnd_fabric *fabric) if (mad_get_field(node->node.info, 0, IB_NODE_VENDORID_F) == VTR_VENDOR_ID) continue; if (mad_get_field64(node->node.info, 0, IB_NODE_SYSTEM_GUID_F)) { - chassis = find_chassisguid((ibnd_node_t *)node); + chassis = find_chassisguid(fabric, (ibnd_node_t *)node); if (chassis) chassis->nodecount++; else { @@ -811,7 +810,7 @@ ibnd_chassis_t *group_nodes(struct ibnd_fabric *fabric) if (mad_get_field(node->node.info, 0, IB_NODE_VENDORID_F) == VTR_VENDOR_ID) continue; if (mad_get_field64(node->node.info, 0, IB_NODE_SYSTEM_GUID_F)) { - chassis = find_chassisguid((ibnd_node_t *)node); + chassis = find_chassisguid(fabric, (ibnd_node_t *)node); if (chassis && chassis->nodecount > 1) { if (!chassis->chassisnum) chassis->chassisnum = ++chassisnum; diff --git a/infiniband-diags/libibnetdisc/src/ibnetdisc.c b/infiniband-diags/libibnetdisc/src/ibnetdisc.c index baea98e..b640bc1 100644 --- a/infiniband-diags/libibnetdisc/src/ibnetdisc.c +++ b/infiniband-diags/libibnetdisc/src/ibnetdisc.c @@ -245,12 +245,12 @@ ibnd_find_node_guid(ibnd_fabric_t *fabric, uint64_t guid) } ibnd_node_t * -ibnd_update_node(ibnd_node_t *node) +ibnd_update_node(ibnd_fabric_t *fabric, ibnd_node_t *node) { char portinfo_port0[IB_SMP_DATA_SIZE]; void *nd = node->nodedesc; int p = 0; - struct ibnd_fabric *f = CONV_FABRIC_INTERNAL(node->fabric); + struct ibnd_fabric *f = CONV_FABRIC_INTERNAL(fabric); struct ibnd_node *n = CONV_NODE_INTERNAL(node); if (query_node_info(f, n, &(n->node.path_portid))) @@ -377,7 +377,6 @@ create_node(struct ibnd_fabric *fabric, struct ibnd_node *temp, ib_portid_t *pat memcpy(node, temp, sizeof(*node)); node->node.dist = dist; node->node.path_portid = *path; - node->node.fabric = (ibnd_fabric_t *)fabric; add_to_nodeguid_hash(node, fabric->nodestbl); -- 1.5.4.5
_______________________________________________ general mailing list general@lists.openfabrics.org http://lists.openfabrics.org/cgi-bin/mailman/listinfo/general To unsubscribe, please visit http://openib.org/mailman/listinfo/openib-general