X-Git-Url: https://git.whamcloud.com/?a=blobdiff_plain;f=lustre%2Fportals%2Fportals%2Fapi-init.c;h=e41bad8668b37ec99108fbf3b2fab442d5c7a27a;hb=090c677210ee2946d99c71412e4ff762bb300f4f;hp=9a9871484929b749b3d9ac13231a9d6d55d24f74;hpb=5ba5b49768995332e0c94ba70ae4d65aaa2f9972;p=fs%2Flustre-release.git diff --git a/lustre/portals/portals/api-init.c b/lustre/portals/portals/api-init.c index 9a98714..e41bad8 100644 --- a/lustre/portals/portals/api-init.c +++ b/lustre/portals/portals/api-init.c @@ -23,23 +23,43 @@ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ -#define DEBUG_SUBSYSTEM S_PORTALS #include +int ptl_init; + +int __p30_initialized; +int __p30_myr_initialized; +int __p30_ip_initialized; +ptl_handle_ni_t __myr_ni_handle; +ptl_handle_ni_t __ip_ni_handle; + int PtlInit(int *max_interfaces) { if (max_interfaces != NULL) - *max_interfaces = NAL_MAX_NR; + *max_interfaces = NAL_ENUM_END_MARKER; + + if (ptl_init) + return PTL_OK; LASSERT(!strcmp(ptl_err_str[PTL_MAX_ERRNO], "PTL_MAX_ERRNO")); - return ptl_ni_init(); + ptl_ni_init(); + ptl_me_init(); + ptl_eq_init(); + ptl_init = 1; + + return PTL_OK; } void PtlFini(void) { + + /* Reverse order of initialization */ + ptl_eq_fini(); + ptl_me_fini(); ptl_ni_fini(); + ptl_init = 0; }