Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 367a8d73 authored by Philipp Reisner's avatar Philipp Reisner
Browse files

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: default avatarPhilipp Reisner <philipp.reisner@linbit.com>
Signed-off-by: default avatarLars Ellenberg <lars.ellenberg@linbit.com>
parent 89f01d5c
Loading
Loading
Loading
Loading
+5 −4
Original line number Original line Diff line number Diff line
@@ -1201,10 +1201,11 @@ static int receive_Barrier(struct drbd_conf *mdev, struct p_header *h)


	case WO_bdev_flush:
	case WO_bdev_flush:
	case WO_drain_io:
	case WO_drain_io:
		D_ASSERT(rv == FE_STILL_LIVE);
		if (rv == FE_STILL_LIVE) {
			set_bit(DE_BARRIER_IN_NEXT_EPOCH_ISSUED, &mdev->current_epoch->flags);
			set_bit(DE_BARRIER_IN_NEXT_EPOCH_ISSUED, &mdev->current_epoch->flags);
			drbd_wait_ee_list_empty(mdev, &mdev->active_ee);
			drbd_wait_ee_list_empty(mdev, &mdev->active_ee);
			rv = drbd_flush_after_epoch(mdev, mdev->current_epoch);
			rv = drbd_flush_after_epoch(mdev, mdev->current_epoch);
		}
		if (rv == FE_RECYCLED)
		if (rv == FE_RECYCLED)
			return TRUE;
			return TRUE;