Guoqing Jiang 1535212c54 md-cluster: fix locking when node joins cluster during message broadcast
If a node joins the cluster while a message broadcast
is under way, a lock issue could happen as follows.

For a cluster which included two nodes, if node A is
calling __sendmsg before up-convert CR to EX on ack,
and node B released CR on ack. But if a new node C
joins the cluster and it doesn't receive the message
which A sent before, so it could hold CR on ack before
A up-convert CR to EX on ack.

So a node joining the cluster should get an EX lock on
the "token" first to ensure no broadcast is ongoing,
then release it after held CR on ack.

Reviewed-by: NeilBrown <neilb@suse.com>
Signed-off-by: Guoqing Jiang <gqjiang@suse.com>
Signed-off-by: Shaohua Li <shli@fb.com>
2016-05-04 12:39:35 -07:00
..
2016-04-12 12:35:07 -07:00
2016-04-15 15:40:49 -07:00
2016-04-29 14:22:25 +02:00
2016-04-16 22:52:03 +05:30
2016-04-29 17:07:54 -07:00
2016-04-28 19:44:47 -07:00
2016-04-29 18:50:08 -07:00
2016-04-15 15:25:09 -07:00
2016-04-18 19:52:47 -07:00
2016-04-27 08:57:11 -07:00
2016-04-14 16:54:00 +02:00
2016-04-25 16:20:49 -04:00
2016-04-29 17:07:54 -07:00
2016-04-20 10:38:06 +03:00