Whamcloud - gitweb
land b1_4_bgl on HEAD (20050404_1913)
[fs/lustre-release.git] / lnet / klnds / gmlnd / gmlnd_module.c
index 31f6819..6cd622f 100644 (file)
@@ -30,10 +30,7 @@ int gmnal_small_msg_size = 525312;
  */
 int num_rx_threads = -1;
 int num_stxds = 5;
-int gm_port = 4;
-
-ptl_handle_ni_t        kgmnal_ni;
-
+int gm_port_id = 4;
 
 int 
 gmnal_cmd(struct portals_cfg *pcfg, void *private)
@@ -55,12 +52,18 @@ gmnal_cmd(struct portals_cfg *pcfg, void *private)
        case(GMNAL_IOC_GET_GNID):
 
                PORTAL_ALLOC(name, pcfg->pcfg_plen1);
-               copy_from_user(name, pcfg->pcfg_pbuf1, pcfg->pcfg_plen1);
+               copy_from_user(name, PCFG_PBUF(pcfg, 1), pcfg->pcfg_plen1);
        
                GMNAL_GM_LOCK(nal_data);
-               nid = gm_host_name_to_node_id(nal_data->gm_port, name);
+               //nid = gm_host_name_to_node_id(nal_data->gm_port, name);
+                gm_status = gm_host_name_to_node_id_ex (nal_data->gm_port, 0, name, &nid);
                GMNAL_GM_UNLOCK(nal_data);
-               CDEBUG(D_INFO, "Local node id is [%d]\n", nid);
+                if (gm_status != GM_SUCCESS) {
+                        CDEBUG(D_INFO, "gm_host_name_to_node_id_ex(...host %s) failed[%d]\n",
+                                name, gm_status);
+                        return (-1);
+                } else
+                       CDEBUG(D_INFO, "Local node %s id is [%d]\n", name, nid);
                GMNAL_GM_LOCK(nal_data);
                gm_status = gm_node_id_to_global_id(nal_data->gm_port, 
                                                    nid, &gnid);
@@ -71,7 +74,7 @@ gmnal_cmd(struct portals_cfg *pcfg, void *private)
                        return(-1);
                }
                CDEBUG(D_INFO, "Global node is is [%u][%x]\n", gnid, gnid);
-               copy_to_user(pcfg->pcfg_pbuf2, &gnid, pcfg->pcfg_plen2);
+               copy_to_user(PCFG_PBUF(pcfg, 2), &gnid, pcfg->pcfg_plen2);
        break;
        default:
                CDEBUG(D_INFO, "gmnal_cmd UNKNOWN[%d]\n", pcfg->pcfg_command);
@@ -90,28 +93,16 @@ gmnal_load(void)
        CDEBUG(D_TRACE, "This is the gmnal module initialisation routine\n");
 
 
-
        CDEBUG(D_INFO, "Calling gmnal_init\n");
-       status = PtlNIInit(gmnal_init, 32, 4, 0, &kgmnal_ni);
+        status = gmnal_init();
        if (status == PTL_OK) {
-               CDEBUG(D_INFO, "Portals GMNAL initialised ok kgmnal_ni\n");
+               CDEBUG(D_INFO, "Portals GMNAL initialised ok\n");
        } else {
                CDEBUG(D_INFO, "Portals GMNAL Failed to initialise\n");
-               return(1);
+               return(-ENODEV);
                
        }
 
-       CDEBUG(D_INFO, "Calling kportal_nal_register\n");
-       /*
-        *      global_nal_data is set by gmnal_init
-        */
-       if (kportal_nal_register(GMNAL, &gmnal_cmd, global_nal_data) != 0) {
-               CDEBUG(D_INFO, "kportal_nal_register failed\n");
-               return(1);
-       }
-
-       CDEBUG(D_INFO, "Calling PORTAL_SYMBOL_REGISTER\n");
-       PORTAL_SYMBOL_REGISTER(kgmnal_ni);
        CDEBUG(D_INFO, "This is the end of the gmnal init routine");
 
 
@@ -122,11 +113,7 @@ gmnal_load(void)
 static void __exit
 gmnal_unload(void)
 {
-
-       kportal_nal_unregister(GMNAL);
-       PORTAL_SYMBOL_UNREGISTER(kgmnal_ni);
        gmnal_fini();
-       global_nal_data = NULL;
        return;
 }
 
@@ -135,12 +122,10 @@ module_init(gmnal_load);
 
 module_exit(gmnal_unload);
 
-EXPORT_SYMBOL(kgmnal_ni);
-
 MODULE_PARM(gmnal_small_msg_size, "i");
 MODULE_PARM(num_rx_threads, "i");
 MODULE_PARM(num_stxds, "i");
-MODULE_PARM(gm_port, "i");
+MODULE_PARM(gm_port_id, "i");
 
 MODULE_AUTHOR("Morgan Doyle");