diff --git a/drivers/block/drbd/drbd_main.c b/drivers/block/drbd/drbd_main.c index f633c0bd52e4..a1deab6f1309 100644 --- a/drivers/block/drbd/drbd_main.c +++ b/drivers/block/drbd/drbd_main.c @@ -706,7 +706,7 @@ static void prepare_header95(struct p_header95 *h, enum drbd_packet cmd, int siz static void _prepare_header(struct drbd_tconn *tconn, int vnr, struct p_header *h, enum drbd_packet cmd, int size) { - if (tconn->agreed_pro_version >= 100 || size > DRBD_MAX_SIZE_H80_PACKET) + if (tconn->agreed_pro_version >= 95) prepare_header95(&h->h95, cmd, size); else prepare_header80(&h->h80, cmd, size); diff --git a/drivers/block/drbd/drbd_receiver.c b/drivers/block/drbd/drbd_receiver.c index 6a3e628b68c6..27d4a4520641 100644 --- a/drivers/block/drbd/drbd_receiver.c +++ b/drivers/block/drbd/drbd_receiver.c @@ -819,9 +819,9 @@ static int drbd_connect(struct drbd_tconn *tconn) return -2; clear_bit(DISCARD_CONCURRENT, &tconn->flags); - tconn->agreed_pro_version = 99; - /* agreed_pro_version must be smaller than 100 so we send the old - header (h80) in the first packet and in the handshake packet. */ + + /* Assume that the peer only understands protocol 80 until we know better. */ + tconn->agreed_pro_version = 80; sock = NULL; msock = NULL;