diff options
author | Philipp Reisner <philipp.reisner@linbit.com> | 2014-04-28 20:43:12 +0400 |
---|---|---|
committer | Jens Axboe <axboe@fb.com> | 2014-04-30 23:46:53 +0400 |
commit | 31007745a5f328b8d70d865c4a6118be01421b8c (patch) | |
tree | f3ac7edd14a10da7b11820bcf2be3639ac4d44cf /arch/mips/include | |
parent | d1e714db8129a1d3670e449b87719c78e2c76f9f (diff) | |
download | linux-31007745a5f328b8d70d865c4a6118be01421b8c.tar.xz |
drbd: Break a deadlock while concurrent fencing and establishing a connection
When we need to outdate the peer while being promoted to primary,
and the connection gets established at the same time, we deadlock
in drbd_try_outdate_peer() when trying to clear the susp_fen
bit.
Fix this by setting the STATE_SENT bit while holding the mutex.
Using drbd_change_state(.. , CS_HARD, ..) which does not block
until STATE_SENT is cleared, is only for clearness. It does
not contribute anything to the fix.
Signed-off-by: Philipp Reisner <philipp.reisner@linbit.com>
Signed-off-by: Lars Ellenberg <lars.ellenberg@linbit.com>
Signed-off-by: Jens Axboe <axboe@fb.com>
Diffstat (limited to 'arch/mips/include')
0 files changed, 0 insertions, 0 deletions