OSDN Git Service

tipc: Eliminate use of user registry by configuration service
authorAllan Stephens <Allan.Stephens@windriver.com>
Fri, 31 Dec 2010 18:59:20 +0000 (18:59 +0000)
committerDavid S. Miller <davem@davemloft.net>
Sat, 1 Jan 2011 21:57:50 +0000 (13:57 -0800)
Simplifies TIPC's configuration service so that it no longer registers
its port with the user registry, since the service doesn't take advantage
of any of the registry's capabilities.

Signed-off-by: Allan Stephens <Allan.Stephens@windriver.com>
Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/tipc/config.c

index bc51210..322367b 100644 (file)
 #include "port.h"
 #include "link.h"
 #include "name_table.h"
-#include "user_reg.h"
 #include "config.h"
 
-struct manager {
-       u32 user_ref;
-       u32 port_ref;
-};
-
-static struct manager mng = { 0};
+static u32 config_port_ref;
 
 static DEFINE_SPINLOCK(config_lock);
 
@@ -506,20 +500,16 @@ int tipc_cfg_init(void)
        struct tipc_name_seq seq;
        int res;
 
-       res = tipc_attach(&mng.user_ref);
-       if (res)
-               goto failed;
-
-       res = tipc_createport(mng.user_ref, NULL, TIPC_CRITICAL_IMPORTANCE,
+       res = tipc_createport(0, NULL, TIPC_CRITICAL_IMPORTANCE,
                              NULL, NULL, NULL,
                              NULL, cfg_named_msg_event, NULL,
-                             NULL, &mng.port_ref);
+                             NULL, &config_port_ref);
        if (res)
                goto failed;
 
        seq.type = TIPC_CFG_SRV;
        seq.lower = seq.upper = tipc_own_addr;
-       res = tipc_nametbl_publish_rsv(mng.port_ref, TIPC_ZONE_SCOPE, &seq);
+       res = tipc_nametbl_publish_rsv(config_port_ref, TIPC_ZONE_SCOPE, &seq);
        if (res)
                goto failed;
 
@@ -527,15 +517,13 @@ int tipc_cfg_init(void)
 
 failed:
        err("Unable to create configuration service\n");
-       tipc_detach(mng.user_ref);
-       mng.user_ref = 0;
        return res;
 }
 
 void tipc_cfg_stop(void)
 {
-       if (mng.user_ref) {
-               tipc_detach(mng.user_ref);
-               mng.user_ref = 0;
+       if (config_port_ref) {
+               tipc_deleteport(config_port_ref);
+               config_port_ref = 0;
        }
 }