aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/block/drbd/drbd_req.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/block/drbd/drbd_req.c')
-rw-r--r--drivers/block/drbd/drbd_req.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/drivers/block/drbd/drbd_req.c b/drivers/block/drbd/drbd_req.c
index 889175110c91..a3f6b04ebaba 100644
--- a/drivers/block/drbd/drbd_req.c
+++ b/drivers/block/drbd/drbd_req.c
@@ -1002,7 +1002,13 @@ allocate_barrier:
1002 congested = 1; 1002 congested = 1;
1003 } 1003 }
1004 1004
1005 if (congested) { 1005 if (congested && atomic_read(&mdev->rs_pending_cnt) == 0) {
1006 /* rs_pending_cnt must be zero, otherwise the two peers
1007 might get different bitmaps. With sane configurations
1008 the resync stalls long before we might want to go into
1009 AHEAD mode.
1010 We could force the resync into PAUSE mode here if
1011 rs_pending_cnt is > 0 ... */
1006 queue_barrier(mdev); 1012 queue_barrier(mdev);
1007 1013
1008 if (mdev->net_conf->on_congestion == OC_PULL_AHEAD) 1014 if (mdev->net_conf->on_congestion == OC_PULL_AHEAD)