Add a new netlink command that can remove a dead node from the internal
data structures.

There is still an impediment here:

When I wrote this a node was removed properly on the first call. After rebase
it now requires the netlink command and the subsequent tipc_node_stop() function
to be executed twice before the node is actually removed. To me this suggests
that something is wrong with the node ref-count. I bisected and found the change
in behaviour to be introduced in 5405ff6e15f4 tipc: convert node lock to rwlock

Looking at that commit the only change in ref-counting that I can spot is new
return at line 463 of the patch:
if (likely(!skb_queue_empty(&xmitq)))
        ...
        return ...

Taking this return would result in one less tipc_node_put(). I'm not familiar
with how the node ref counting is suppose to work. Can someone help me here?
Why are we changing the ref count of a node in the transmit function?

Richard Alpe (2):
  tipc: move netlink policies to netlink.h
  tipc: add node removal functionality

 include/uapi/linux/tipc_netlink.h |  1 +
 net/tipc/bearer.c                 | 19 +--------
 net/tipc/link.c                   |  8 ----
 net/tipc/name_table.c             |  7 +---
 net/tipc/net.c                    |  8 +---
 net/tipc/netlink.c                | 18 +++------
 net/tipc/netlink.h                | 85 +++++++++++++++++++++++++++++++++++++++
 net/tipc/node.c                   | 83 +++++++++++++++++++++++++-------------
 net/tipc/node.h                   |  3 +-
 net/tipc/socket.c                 |  9 +----
 net/tipc/udp_media.c              |  9 +----
 11 files changed, 155 insertions(+), 95 deletions(-)

-- 
2.1.4


------------------------------------------------------------------------------
Go from Idea to Many App Stores Faster with Intel(R) XDK
Give your users amazing mobile app experiences with Intel(R) XDK.
Use one codebase in this all-in-one HTML5 development environment.
Design, debug & build mobile apps & 2D/3D high-impact games for multiple OSs.
http://pubads.g.doubleclick.net/gampad/clk?id=254741911&iu=/4140
_______________________________________________
tipc-discussion mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/tipc-discussion

Reply via email to