tipc: Eliminate use of user registry by configuration service

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>
This commit is contained in:
Allan Stephens 2010-12-31 18:59:20 +00:00 committed by David S. Miller
parent 8f92df6ad4
commit 7a488fd3d4

View file

@ -38,15 +38,9 @@
#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;
}
}