summaryrefslogtreecommitdiffstats
path: root/drivers/md/dm-kcopyd.c
diff options
context:
space:
mode:
authorGuoqing Jiang <gqjiang@suse.com>2015-07-10 17:01:15 +0800
committerNeilBrown <neilb@suse.com>2015-08-31 19:41:41 +0200
commit66099bb0ee6c20f91ace3fa5f82202fbceb67d8e (patch)
tree9b5be424509589322b12a9a6d1571e0b32111731 /drivers/md/dm-kcopyd.c
parentdc737d7c3d62d2cd2b62c7739aaa7604330c3dd8 (diff)
downloadlinux-66099bb0ee6c20f91ace3fa5f82202fbceb67d8e.tar.bz2
md-cluster: fix deadlock issue on message lock
There is problem with previous communication mechanism, and we got below deadlock scenario with cluster which has 3 nodes. Sender Receiver Receiver token(EX) message(EX) writes message downconverts message(CR) requests ack(EX) get message(CR) gets message(CR) reads message reads message requests EX on message requests EX on message To fix this problem, we do the following changes: 1. the sender downconverts MESSAGE to CW rather than CR. 2. and the receiver request PR lock not EX lock on message. And in case we failed to down-convert EX to CW on message, it is better to unlock message otherthan still hold the lock. Reviewed-by: Goldwyn Rodrigues <rgoldwyn@suse.com> Signed-off-by: Lidong Zhong <ldzhong@suse.com> Signed-off-by: Guoqing Jiang <gqjiang@suse.com> Signed-off-by: NeilBrown <neilb@suse.com>
Diffstat (limited to 'drivers/md/dm-kcopyd.c')
0 files changed, 0 insertions, 0 deletions