diff --git a/drbd/drbd_receiver.c b/drbd/drbd_receiver.c index 048a759..184f6df 100644 --- a/drbd/drbd_receiver.c +++ b/drbd/drbd_receiver.c @@ -2467,6 +2467,8 @@ STATIC int receive_state(drbd_dev *mdev, Drbd_Header *h) mdev->state.disk == Negotiating)); cr |= test_bit(CONSIDER_RESYNC,&mdev->flags); /* peer forced */ cr |= (oconn == Connected && peer_state.conn > Connected); + cr |= ((oconn == WFBitMapS || oconn == WFBitMapT) && + peer_state.disk == UpToDate && mdev->state.disk == UpToDate); if (cr) nconn=drbd_sync_handshake(mdev, peer_state.role, peer_state.disk);