drbd: Fixed compatibility with protocol versions smaller than 95
authorPhilipp Reisner <philipp.reisner@linbit.com>
Thu, 9 Sep 2010 12:22:21 +0000 (14:22 +0200)
committerPhilipp Reisner <philipp.reisner@linbit.com>
Thu, 14 Oct 2010 16:38:38 +0000 (18:38 +0200)
Forgot to consider the max size for the resync requests.

Signed-off-by: Philipp Reisner <philipp.reisner@linbit.com>
Signed-off-by: Lars Ellenberg <lars.ellenberg@linbit.com>
drivers/block/drbd/drbd_worker.c

index c72a5fc..daa672f 100644 (file)
@@ -534,8 +534,9 @@ int w_make_resync_request(struct drbd_conf *mdev,
 
        /* starting with drbd 8.3.8, we can handle multi-bio EEs,
         * if it should be necessary */
-       max_segment_size = mdev->agreed_pro_version < 94 ?
-               queue_max_segment_size(mdev->rq_queue) : DRBD_MAX_SEGMENT_SIZE;
+       max_segment_size =
+               mdev->agreed_pro_version < 94 ? queue_max_segment_size(mdev->rq_queue) :
+               mdev->agreed_pro_version < 95 ? DRBD_MAX_SIZE_H80_PACKET : DRBD_MAX_SEGMENT_SIZE;
 
        if (mdev->rs_plan_s.size) { /* mdev->sync_conf.c_plan_ahead */
                number = drbd_rs_controller(mdev) >> (BM_BLOCK_SHIFT - 9);