aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/block/drbd
diff options
context:
space:
mode:
authorPhilipp Reisner <philipp.reisner@linbit.com>2009-12-29 09:56:01 -0500
committerPhilipp Reisner <philipp.reisner@linbit.com>2009-12-31 03:33:09 -0500
commit367a8d738542b091228613751af0958ce25bbeb3 (patch)
treef2e754e172dc09344c2f9ffac5282ddfdcc854c5 /drivers/block/drbd
parent89f01d5cd3c7ef01239bf15283181a0091c78657 (diff)
drbd: Silenced an assert that could triggered after changing write ordering method
Immediately after changing the write ordering method, the epoch can already be finished at this point. Signed-off-by: Philipp Reisner <philipp.reisner@linbit.com> Signed-off-by: Lars Ellenberg <lars.ellenberg@linbit.com>
Diffstat (limited to 'drivers/block/drbd')
-rw-r--r--drivers/block/drbd/drbd_receiver.c9
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