summaryrefslogtreecommitdiff
path: root/net/tipc/node.c
diff options
context:
space:
mode:
authorAllan Stephens <allan.stephens@windriver.com>2010-08-17 11:00:16 +0000
committerDavid S. Miller <davem@davemloft.net>2010-08-17 17:32:00 -0700
commit5a68d5ee000bb784c4856391b4861739c8bbd341 (patch)
treebf00540edd8adae24f3805b08d53ba37af6366d7 /net/tipc/node.c
parent564e83b51a12b794e3f63a2d872398e1ee21616f (diff)
tipc: Prevent missing name table entries when link flip-flops rapidly
Ensure that TIPC does not re-establish communication with a neighboring node until it has finished updating all data structures containing information about that node to reflect the earlier loss of contact. Previously, it was possible for TIPC to perform its purge of name table entries relating to the node once contact had already been re-established, resulting in the unwanted removal of valid name table entries. 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/node.c')
-rw-r--r--net/tipc/node.c19
1 files changed, 19 insertions, 0 deletions
diff --git a/net/tipc/node.c b/net/tipc/node.c
index 940851797615..b702c7bf580f 100644
--- a/net/tipc/node.c
+++ b/net/tipc/node.c
@@ -383,6 +383,20 @@ static void node_established_contact(struct tipc_node *n_ptr)
tipc_highest_allowed_slave);
}
+static void node_cleanup_finished(unsigned long node_addr)
+{
+ struct tipc_node *n_ptr;
+
+ read_lock_bh(&tipc_net_lock);
+ n_ptr = tipc_node_find(node_addr);
+ if (n_ptr) {
+ tipc_node_lock(n_ptr);
+ n_ptr->cleanup_required = 0;
+ tipc_node_unlock(n_ptr);
+ }
+ read_unlock_bh(&tipc_net_lock);
+}
+
static void node_lost_contact(struct tipc_node *n_ptr)
{
struct cluster *c_ptr;
@@ -457,6 +471,11 @@ static void node_lost_contact(struct tipc_node *n_ptr)
tipc_k_signal((Handler)ns->handle_node_down,
(unsigned long)ns->usr_handle);
}
+
+ /* Prevent re-contact with node until all cleanup is done */
+
+ n_ptr->cleanup_required = 1;
+ tipc_k_signal((Handler)node_cleanup_finished, n_ptr->addr);
}
/**
-2024-10-31'>drm-misc-next-2024-10-31commit 2e0757012c...Maarten Lankhorst2 months drm-misc-next-2024-10-25commit d4e4e498be...Maarten Lankhorst3 months drm-misc-fixes-2024-10-24commit 5c23878252...Thomas Zimmermann3 months drm-misc-next-2024-10-17commit 134e71bd1e...Maarten Lankhorst3 months drm-misc-fixes-2024-10-17commit c09c4f2a97...Thomas Zimmermann3 months drm-misc-fixes-2024-10-10commit fcddc71ec7...Thomas Zimmermann3 months drm-misc-next-2024-10-09commit 4c93ede2b0...Maarten Lankhorst3 months drm-misc-fixes-2024-10-02commit f9e7ac6e2e...Thomas Zimmermann3 months drm-misc-next-2024-09-26commit 15499749fb...Maarten Lankhorst4 months drm-misc-fixes-2024-09-26commit ad604f0a4c...Thomas Zimmermann4 months drm-misc-next-2024-09-20commit 2facdd6002...Maarten Lankhorst4 months drm-misc-fixes-2024-09-12commit 45c690aea8...Maxime Ripard4 months drm-misc-fixes-2024-09-05commit 5a498d4d06...Maxime Ripard4 months drm-misc-next-fixes-2024-09-05commit ba2b9de0c1...Thomas Zimmermann4 months drm-misc-fixes-2024-08-29commit 9d824c7fce...Maxime Ripard5 months drm-misc-next-2024-08-29commit 84addde447...Thomas Zimmermann5 months drm-misc-next-2024-08-22commit f60ef67ff2...Thomas Zimmermann5 months drm-misc-fixes-2024-08-22commit 9b340aeb26...Thomas Zimmermann5 months drm-misc-next-2024-08-16commit 8befe8fa5a...Thomas Zimmermann5 months drm-misc-fixes-2024-08-15commit fd45cc614b...Thomas Zimmermann5 months drm-misc-next-2024-08-09commit 219b45d023...Thomas Zimmermann5 months drm-misc-fixes-2024-08-08commit 929725bd7e...Maxime Ripard5 months drm-misc-next-2024-08-01commit d97e71e449...Thomas Zimmermann5 months drm-misc-fixes-2024-08-01commit 9c685f6172...Maxime Ripard5 months drm-misc-next-fixes-2024-07-25commit b6f7d984eb...Maxime Ripard6 months drm-misc-next-fixes-2024-07-19commit 1fe1c66274...Maxime Ripard6 months drm-misc-next-fixes-2024-07-11commit c537fb4e3d...Maxime Ripard6 months drm-misc-fixes-2024-07-11commit cb520c3f36...Maarten Lankhorst6 months drm-misc-next-2024-07-04commit 896868eded...Maxime Ripard6 months drm-misc-fixes-2024-07-04commit d99fbd9aab...Maarten Lankhorst6 months drm-misc-next-2024-06-27commit 61bfcd1908...Maxime Ripard7 months drm-misc-fixes-2024-06-26commit 66edf3fb33...Maarten Lankhorst7 months drm-misc-next-2024-06-20commit b9578c4945...Maxime Ripard7 months drm-misc-fixes-2024-06-14commit 14731a640e...Maarten Lankhorst7 months drm-misc-next-2024-06-13commit a13aaf1574...Maxime Ripard7 months drm-misc-next-fixes-2024-06-07commit 539d33b578...Maarten Lankhorst7 months drm-misc-fixes-2024-06-07commit 5703fc058e...Maarten Lankhorst7 months drm-misc-next-2024-06-06commit 310ec03841...Maxime Ripard7 months drm-misc-fixes-2024-05-30-1commit bb19535880...Maarten Lankhorst8 months drm-misc-fixes-2024-05-30commit bb19535880...Thomas Zimmermann8 months drm-misc-next-2024-05-30commit 0c02cebc7f...Maxime Ripard8 months drm-misc-fixes-2024-05-23commit 39bc27bd68...Thomas Zimmermann8 months drm-misc-next-fixes-2024-05-23commit 5a507b7d2b...Maarten Lankhorst8 months drm-misc-next-fixes-2024-05-16commit 959314c438...Maarten Lankhorst8 months drm-misc-fixes-2024-05-16commit aed9a1a4f7...Thomas Zimmermann8 months drm-misc-fixes-2024-05-10commit 6897204ea3...Thomas Zimmermann8 months drm-misc-next-fixes-2024-05-08commit be3f304239...Maarten Lankhorst8 months drm-misc-fixes-2024-05-02commit da85f0aaa9...Thomas Zimmermann8 months drm-misc-next-2024-04-25commit 9e2b84fb6c...Maarten Lankhorst9 months drm-misc-fixes-2024-04-25commit 78d9161d2b...Thomas Zimmermann9 months drm-misc-next-2024-04-19commit 069a6c0e94...Maarten Lankhorst9 months drm-misc-fixes-2024-04-18commit 941c0bdbc1...Thomas Zimmermann9 months drm-misc-fixes-2024-04-11commit 4c08f01934...Thomas Zimmermann9 months drm-misc-next-2024-04-10commit 29b39672bc...Maarten Lankhorst9 months drm-misc-next-2024-04-05commit d1ef8fc18b...Maarten Lankhorst9 months drm-misc-fixes-2024-04-04commit fddf092738...Thomas Zimmermann9 months drm-misc-fixes-2024-03-28commit aba2a144c0...Thomas Zimmermann10 months drm-misc-next-2024-03-28commit 4b2d588d8a...Maarten Lankhorst10 months drm-misc-next-fixes-2024-03-21commit 5d4e8ae6e5...Thomas Zimmermann10 months drm-misc-next-2024-03-21-1commit 5e842d55ba...Maarten Lankhorst10 months drm-misc-next-fixes-2024-03-14commit 9dd81b2e1e...Thomas Zimmermann10 months drm-misc-next-fixes-2024-03-07commit 838f865802...Thomas Zimmermann10 months drm-misc-fixes-2024-03-07commit 4ece8fc439...Maxime Ripard10 months drm-misc-fixes-2024-02-29commit c70703320e...Maxime Ripard11 months drm-misc-next-fixes-2024-02-29commit 9cb3542aee...Thomas Zimmermann11 months drm-misc-next-2024-02-29commit 8df1ddb5bf...Thomas Zimmermann11 months drm-misc-fixes-2024-02-22commit 2aa6f5b0fd...Maxime Ripard11 months drm-misc-next-2024-02-22commit a3baaca4a8...Thomas Zimmermann11 months drm-misc-next-2024-02-15commit aa1267e673...Thomas Zimmermann11 months drm-misc-fixes-2024-02-15commit a64056bb5a...Maxime Ripard11 months drm-misc-next-2024-02-08commit 3ce7384048...Thomas Zimmermann11 months drm-misc-fixes-2024-02-08commit 5f8408aca6...Maxime Ripard11 months drm-misc-fixes-2024-02-01commit 1c1914d6e8...Maxime Ripard11 months drm-misc-fixes-2024-01-26commit 27d19268cf...Maxime Ripard12 months drm-misc-next-fixes-2024-01-19commit 1f1626ac04...Maxime Ripard12 months drm-misc-next-2024-01-11commit 502756e233...Thomas Zimmermann12 months drm-misc-next-fixes-2024-01-11commit 89fe46019a...Maxime Ripard12 months drm-misc-next-fixes-2024-01-04commit eee7068393...Maxime Ripard12 months drm-misc-fixes-2024-01-03commit 11f9eb899e...Maarten Lankhorst12 months drm-misc-next-fixes-2023-12-21commit 933a2a376f...Maxime Ripard13 months drm-misc-fixes-2023-12-14commit 6c9dbee84c...Maarten Lankhorst13 months drm-misc-next-2023-12-14commit b1a2aa9bcb...Maxime Ripard13 months drm-misc-fixes-2023-12-07commit e0f04e41e8...Maarten Lankhorst13 months drm-misc-next-2023-12-07commit 90d50b8d85...Maxime Ripard13 months drm-misc-next-2023-11-30commit 9ee33dc477...Maxime Ripard14 months drm-misc-fixes-2023-11-29commit fb18fe0fdf...Maarten Lankhorst14 months drm-misc-fixes-2023-11-23commit ab93edb2f9...Maarten Lankhorst14 months drm-misc-next-2023-11-23commit 815d8b0425...Maxime Ripard14 months drm-misc-next-2023-11-17commit 3b434a3445...Maxime Ripard14 months drm-misc-fixes-2023-11-16commit ae1aadb1eb...Maarten Lankhorst14 months drm-misc-fixes-2023-11-08commit 0e8b9f258b...Maarten Lankhorst14 months drm-misc-next-fixes-2023-11-02commit 94565e95e2...Maarten Lankhorst14 months drm-misc-fixes-2023-11-02commit 101c9f637e...Thomas Zimmermann14 months drm-misc-next-2023-10-27commit b70438004a...Maarten Lankhorst15 months drm-misc-fixes-2023-10-26commit b132ac51d7...Thomas Zimmermann15 months drm-misc-fixes-2023-10-19commit 8f5ad367e8...Thomas Zimmermann15 months drm-misc-next-2023-10-19commit 2d23e7d6ba...Maarten Lankhorst15 months drm-misc-fixes-2023-10-12commit c1165df2be...Thomas Zimmermann15 months drm-misc-next-2023-10-12commit c395c83aaf...Maarten Lankhorst15 months drm-misc-next-2023-10-06commit c1698c73f4...Maarten Lankhorst15 months drm-misc-fixes-2023-10-05commit d59e75eef5...Thomas Zimmermann15 months drm-misc-fixes-2023-09-28commit 645d694559...Thomas Zimmermann16 months drm-misc-next-2023-09-27commit 78f54469b8...Maarten Lankhorst16 months drm-misc-fixes-2023-09-21commit f75f71b2c4...Thomas Zimmermann16 months drm-misc-fixes-2023-09-14commit 139a27854b...Thomas Zimmermann16 months drm-misc-next-fixes-2023-09-11commit d20b484c67...Thomas Zimmermann16 months drm-misc-next-2023-09-11-1commit 15d30b4657...Maarten Lankhorst16 months drm-misc-fixes-2023-09-07commit 7583028d35...Maxime Ripard16 months drm-misc-next-fixes-2023-09-01commit 978474dc82...Thomas Zimmermann17 months drm-misc-next-fixes-2023-08-24commit cdf4100eaa...Thomas Zimmermann17 months drm-misc-fixes-2023-08-24commit f9e96bf190...Maxime Ripard17 months drm-misc-fixes-2023-08-17commit 50b6f2c829...Maxime Ripard17 months drm-misc-next-fixes-2023-08-17commit ff065eaf55...Thomas Zimmermann17 months drm-misc-next-2023-08-10commit 2799804ac6...Thomas Zimmermann17 months drm-misc-fixes-2023-08-10commit 07dd476f61...Maxime Ripard17 months drm-misc-next-2023-08-03commit a0769f25a3...Thomas Zimmermann17 months drm-misc-fixes-2023-08-03commit c71b7aa861...Maxime Ripard17 months drm-misc-next-2023-07-27commit 7c5aa94858...Thomas Zimmermann18 months drm-misc-fixes-2023-07-27commit 39b1320e5d...Maxime Ripard18 months drm-misc-next-2023-07-21commit d281eeaa4d...Maxime Ripard18 months drm-misc-fixes-2023-07-20commit ea293f823a...Maxime Ripard18 months drm-misc-next-2023-07-13commit 36672dda2e...Thomas Zimmermann18 months drm-misc-fixes-2023-07-13commit 835a65f517...Maxime Ripard18 months drm-misc-fixes-2023-07-07commit 00ae1491f9...Thomas Zimmermann18 months drm-misc-next-fixes-2023-07-06commit 59bba51ec2...Thomas Zimmermann18 months drm-misc-next-fixes-2023-06-29commit 861c249cd7...Thomas Zimmermann19 months drm-misc-fixes-2023-06-21commit 54d217406a...Maarten Lankhorst19 months drm-misc-fixes-2023-06-16commit 55b94bb8c4...Maarten Lankhorst19 months drm-misc-next-fixes-2023-06-15commit cf683e8870...Thomas Zimmermann19 months drm-misc-fixes-2023-06-08commit a3efabee58...Maarten Lankhorst19 months drm-misc-next-2023-06-07commit 13cdd12a9f...Thomas Zimmermann19 months drm-misc-next-2023-06-01commit 43049f17b5...Thomas Zimmermann20 months drm-misc-next-2023-05-24commit 4bd65789ba...Thomas Zimmermann20 months drm-misc-fixes-2023-05-24commit e997c218ad...Maarten Lankhorst20 months drm-misc-fixes-2023-05-11commit 2da5bffe9e...Maarten Lankhorst20 months drm-misc-next-2023-05-11commit 4795c78768...Maxime Ripard20 months drm-misc-next-fixes-2023-04-26commit a50be876f4...Maarten Lankhorst21 months drm-misc-fixes-2023-04-26commit 0d68683838...Maarten Lankhorst21 months drm-misc-fixes-2023-04-20-2commit b63a553e8f...Thomas Zimmermann21 months drm-misc-fixes-2023-04-20-1commit b63a553e8f...Thomas Zimmermann21 months drm-misc-fixes-2023-04-20commit b63a553e8f...Thomas Zimmermann21 months drm-misc-fixes-2023-04-13commit 5603effb82...Thomas Zimmermann21 months drm-misc-next-2023-04-12commit fd35174e13...Maarten Lankhorst21 months drm-misc-next-2023-04-06commit e44f18c6ff...Maarten Lankhorst21 months drm-misc-fixes-2023-04-05commit 0ec8671837...Thomas Zimmermann21 months drm-misc-next-2023-03-31commit 7d690f936e...Maarten Lankhorst22 months drm-misc-fixes-2023-03-30commit 25bbe844ef...Thomas Zimmermann22 months drm-misc-next-2023-03-23commit 4ab9157c7e...Maarten Lankhorst22 months drm-misc-fixes-2023-03-23commit 1a70ca89d5...Thomas Zimmermann22 months drm-misc-next-2023-03-16commit b24343eace...Maarten Lankhorst22 months drm-misc-fixes-2023-03-16commit 4028cbf867...Thomas Zimmermann22 months drm-misc-next-2023-03-07commit 9228742caf...Maarten Lankhorst22 months drm-misc-next-fixes-2023-02-28commit 047a754558...Thomas Zimmermann23 months drm-misc-next-2023-02-23commit 95d39a0c64...Maarten Lankhorst23 months drm-misc-fixes-2023-02-23commit 1b9b4f922f...Maxime Ripard23 months drm-misc-next-fixes-2023-02-21commit 3fb1f62f80...Thomas Zimmermann23 months drm-misc-next-fixes-2023-02-16commit 38b2d8efd0...Thomas Zimmermann23 months drm-misc-fixes-2023-02-16commit a950b989ea...Maxime Ripard23 months drm-misc-next-fixes-2023-02-09commit 467fbc77f6...Thomas Zimmermann23 months drm-misc-fixes-2023-02-09commit 85e26dd510...Maxime Ripard23 months drm-misc-fixes-2023-02-02commit a3ee9e0b57...Maxime Ripard23 months drm-misc-next-fixes-2023-02-02commit 84cc4c7aec...Thomas Zimmermann23 months drm-misc-fixes-2023-01-26commit d6591da5f3...Maxime Ripard24 months drm-misc-next-2023-01-26commit 6ca80b9e5c...Thomas Zimmermann24 months drm-misc-next-2023-01-24commit 51affef35b...Thomas Zimmermann24 months drm-misc-next-2023-01-19commit bd43a9844b...Thomas Zimmermann24 months drm-misc-fixes-2023-01-19commit 2293a73ad4...Maxime Ripard24 months drm-misc-fixes-2023-01-12commit 5640e81607...Maxime Ripard2 years drm-misc-next-2023-01-12commit 6e41acd2e5...Thomas Zimmermann2 years drm-misc-fixes-2023-01-05commit 69555549cf...Maxime Ripard2 years drm-misc-next-fixes-2023-01-03commit 03dec92c4f...Maxime Ripard2 years drm-misc-next-2023-01-03commit 2591939e88...Thomas Zimmermann2 years drm-misc-fixes-2022-12-22commit 4217c6ac81...Maxime Ripard2 years drm-misc-fixes-2022-12-08commit 6e90293618...Maarten Lankhorst2 years drm-misc-next-fixes-2022-12-08commit b02897e56b...Maxime Ripard2 years drm-misc-fixes-2022-11-30commit ed14d225cc...Maarten Lankhorst2 years