aboutsummaryrefslogtreecommitdiffstats
path: root/net/tipc
diff options
context:
space:
mode:
authorAllan Stephens <Allan.Stephens@windriver.com>2010-12-31 13:59:21 -0500
committerDavid S. Miller <davem@davemloft.net>2011-01-01 16:57:50 -0500
commitaa70200e001fc4d76552c974c94f65ab26020203 (patch)
treeaf3b17052f088dd7f078c515c45b3168d3b9200c /net/tipc
parent7a488fd3d40a127d0d6057ecd2696f39e11e63c3 (diff)
tipc: Eliminate use of user registry by topology service
Simplifies TIPC's network topology service so that it no longer registers its ports 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>
Diffstat (limited to 'net/tipc')
-rw-r--r--net/tipc/subscr.c26
1 files changed, 10 insertions, 16 deletions
diff --git a/net/tipc/subscr.c b/net/tipc/subscr.c
index 23f43d03980c..21abf1765b02 100644
--- a/net/tipc/subscr.c
+++ b/net/tipc/subscr.c
@@ -36,7 +36,7 @@
36 36
37#include "core.h" 37#include "core.h"
38#include "name_table.h" 38#include "name_table.h"
39#include "user_reg.h" 39#include "port.h"
40#include "subscr.h" 40#include "subscr.h"
41 41
42/** 42/**
@@ -64,7 +64,6 @@ struct subscriber {
64 */ 64 */
65 65
66struct top_srv { 66struct top_srv {
67 u32 user_ref;
68 u32 setup_port; 67 u32 setup_port;
69 atomic_t subscription_count; 68 atomic_t subscription_count;
70 struct list_head subscriber_list; 69 struct list_head subscriber_list;
@@ -494,7 +493,7 @@ static void subscr_named_msg_event(void *usr_handle,
494 493
495 /* Create server port & establish connection to subscriber */ 494 /* Create server port & establish connection to subscriber */
496 495
497 tipc_createport(topsrv.user_ref, 496 tipc_createport(0,
498 subscriber, 497 subscriber,
499 importance, 498 importance,
500 NULL, 499 NULL,
@@ -549,13 +548,7 @@ int tipc_subscr_start(void)
549 INIT_LIST_HEAD(&topsrv.subscriber_list); 548 INIT_LIST_HEAD(&topsrv.subscriber_list);
550 549
551 spin_lock_bh(&topsrv.lock); 550 spin_lock_bh(&topsrv.lock);
552 res = tipc_attach(&topsrv.user_ref); 551 res = tipc_createport(0,
553 if (res) {
554 spin_unlock_bh(&topsrv.lock);
555 return res;
556 }
557
558 res = tipc_createport(topsrv.user_ref,
559 NULL, 552 NULL,
560 TIPC_CRITICAL_IMPORTANCE, 553 TIPC_CRITICAL_IMPORTANCE,
561 NULL, 554 NULL,
@@ -570,16 +563,17 @@ int tipc_subscr_start(void)
570 goto failed; 563 goto failed;
571 564
572 res = tipc_nametbl_publish_rsv(topsrv.setup_port, TIPC_NODE_SCOPE, &seq); 565 res = tipc_nametbl_publish_rsv(topsrv.setup_port, TIPC_NODE_SCOPE, &seq);
573 if (res) 566 if (res) {
567 tipc_deleteport(topsrv.setup_port);
568 topsrv.setup_port = 0;
574 goto failed; 569 goto failed;
570 }
575 571
576 spin_unlock_bh(&topsrv.lock); 572 spin_unlock_bh(&topsrv.lock);
577 return 0; 573 return 0;
578 574
579failed: 575failed:
580 err("Failed to create subscription service\n"); 576 err("Failed to create subscription service\n");
581 tipc_detach(topsrv.user_ref);
582 topsrv.user_ref = 0;
583 spin_unlock_bh(&topsrv.lock); 577 spin_unlock_bh(&topsrv.lock);
584 return res; 578 return res;
585} 579}
@@ -590,8 +584,10 @@ void tipc_subscr_stop(void)
590 struct subscriber *subscriber_temp; 584 struct subscriber *subscriber_temp;
591 spinlock_t *subscriber_lock; 585 spinlock_t *subscriber_lock;
592 586
593 if (topsrv.user_ref) { 587 if (topsrv.setup_port) {
594 tipc_deleteport(topsrv.setup_port); 588 tipc_deleteport(topsrv.setup_port);
589 topsrv.setup_port = 0;
590
595 list_for_each_entry_safe(subscriber, subscriber_temp, 591 list_for_each_entry_safe(subscriber, subscriber_temp,
596 &topsrv.subscriber_list, 592 &topsrv.subscriber_list,
597 subscriber_list) { 593 subscriber_list) {
@@ -600,7 +596,5 @@ void tipc_subscr_stop(void)
600 subscr_terminate(subscriber); 596 subscr_terminate(subscriber);
601 spin_unlock_bh(subscriber_lock); 597 spin_unlock_bh(subscriber_lock);
602 } 598 }
603 tipc_detach(topsrv.user_ref);
604 topsrv.user_ref = 0;
605 } 599 }
606} 600}