drbd: don't block forever in disconnect during resync if fencing=r-a-stonith
authorLars Ellenberg <lars.ellenberg@linbit.com>
Thu, 16 Apr 2015 14:51:34 +0000 (16:51 +0200)
committerJens Axboe <axboe@fb.com>
Wed, 25 Nov 2015 16:22:02 +0000 (09:22 -0700)
commit5bded4effb601d9f92382db38fd501f98692eb2d
tree470c4225e7a220a82d5714b1862004a0a3a5d566
parentbb649b34dd3d8f69308f5f193cb64457069c7222
drbd: don't block forever in disconnect during resync if fencing=r-a-stonith

Disconnect should wait for pending bitmap IO.
But if that bitmap IO is not happening, because it is waiting for
pending application IO, and there is no progress, because the fencing
policy suspended application IO because of the disconnect,
then we deadlock.

The bitmap writeout in this case does not care for concurrent
application IO, so there is no point waiting for it.

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>
drivers/block/drbd/drbd_main.c