diff options
Diffstat (limited to 'drivers/block')
-rw-r--r-- | drivers/block/drbd/drbd_receiver.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/drivers/block/drbd/drbd_receiver.c b/drivers/block/drbd/drbd_receiver.c index 259c1351b152..a6d266ee7e2a 100644 --- a/drivers/block/drbd/drbd_receiver.c +++ b/drivers/block/drbd/drbd_receiver.c | |||
@@ -1201,10 +1201,11 @@ static int receive_Barrier(struct drbd_conf *mdev, struct p_header *h) | |||
1201 | 1201 | ||
1202 | case WO_bdev_flush: | 1202 | case WO_bdev_flush: |
1203 | case WO_drain_io: | 1203 | case WO_drain_io: |
1204 | D_ASSERT(rv == FE_STILL_LIVE); | 1204 | if (rv == FE_STILL_LIVE) { |
1205 | set_bit(DE_BARRIER_IN_NEXT_EPOCH_ISSUED, &mdev->current_epoch->flags); | 1205 | set_bit(DE_BARRIER_IN_NEXT_EPOCH_ISSUED, &mdev->current_epoch->flags); |
1206 | drbd_wait_ee_list_empty(mdev, &mdev->active_ee); | 1206 | drbd_wait_ee_list_empty(mdev, &mdev->active_ee); |
1207 | rv = drbd_flush_after_epoch(mdev, mdev->current_epoch); | 1207 | rv = drbd_flush_after_epoch(mdev, mdev->current_epoch); |
1208 | } | ||
1208 | if (rv == FE_RECYCLED) | 1209 | if (rv == FE_RECYCLED) |
1209 | return TRUE; | 1210 | return TRUE; |
1210 | 1211 | ||