From: Lars Ellenberg Date: Mon, 13 Jun 2016 22:26:28 +0000 (+0200) Subject: drbd: only restart frozen disk io when D_UP_TO_DATE X-Git-Tag: v4.8-rc1~161^2~77 X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=af61494ad4725ed78bd6b3f159a32463d80fdd60;p=karo-tx-linux.git drbd: only restart frozen disk io when D_UP_TO_DATE When re-attaching the local backend device to a C_STANDALONE D_DISKLESS R_PRIMARY with OND_SUSPEND_IO, we may only resume IO if we recognize the backend that is being attached as D_UP_TO_DATE. Signed-off-by: Philipp Reisner Signed-off-by: Lars Ellenberg Signed-off-by: Jens Axboe --- diff --git a/drivers/block/drbd/drbd_state.c b/drivers/block/drbd/drbd_state.c index 59c646752af8..24422e85ad3c 100644 --- a/drivers/block/drbd/drbd_state.c +++ b/drivers/block/drbd/drbd_state.c @@ -1675,7 +1675,7 @@ static void after_state_ch(struct drbd_device *device, union drbd_state os, what = RESEND; if ((os.disk == D_ATTACHING || os.disk == D_NEGOTIATING) && - conn_lowest_disk(connection) > D_NEGOTIATING) + conn_lowest_disk(connection) == D_UP_TO_DATE) what = RESTART_FROZEN_DISK_IO; if (resource->susp_nod && what != NOTHING) {