Coly Li 4e98e2
From 0bf6595ec81d896451f0066c95f8cd34c74313dc Mon Sep 17 00:00:00 2001
Coly Li 4e98e2
From: Christoph Hellwig <hch@lst.de>
Coly Li 4e98e2
Date: Mon, 19 Jun 2017 09:26:25 +0200
Coly Li 4e98e2
Subject: [PATCH] block: don't set bounce limit in blk_init_allocated_queue
Coly Li 4e98e2
Git-commit: 0bf6595ec81d896451f0066c95f8cd34c74313dc
Coly Li 4e98e2
Patch-mainline: v4.13-rc1
Coly Li 4e98e2
References: fate#322738,fate#322919,fate#322950,fate#323773
Coly Li 4e98e2
Coly Li 4e98e2
And just move it into scsi_transport_sas which needs it due to low-level
Coly Li 4e98e2
drivers directly derferencing bio_data, and into blk_init_queue_node,
Coly Li 4e98e2
which will need a further push into the callers.
Coly Li 4e98e2
Coly Li 4e98e2
Signed-off-by: Christoph Hellwig <hch@lst.de>
Coly Li 4e98e2
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Coly Li 4e98e2
Signed-off-by: Coly Li <colyli@suse.de>
Coly Li 4e98e2
Coly Li 4e98e2
---
Coly Li 4e98e2
 block/blk-core.c                  | 10 +++++-----
Coly Li 4e98e2
 drivers/scsi/scsi_transport_sas.c |  5 +++++
Coly Li 4e98e2
 2 files changed, 10 insertions(+), 5 deletions(-)
Coly Li 4e98e2
Coly Li 4e98e2
diff --git a/block/blk-core.c b/block/blk-core.c
Coly Li 4e98e2
index 8699c423fa6e..33b27541dc17 100644
Coly Li 4e98e2
--- a/block/blk-core.c
Coly Li 4e98e2
+++ b/block/blk-core.c
Coly Li 4e98e2
@@ -960,6 +960,11 @@ blk_init_queue_node(request_fn_proc *rfn, spinlock_t *lock, int node_id)
Coly Li 4e98e2
 		return NULL;
Coly Li 4e98e2
 	}
Coly Li 4e98e2
 
Coly Li 4e98e2
+	/*
Coly Li 4e98e2
+	 * by default assume old behaviour and bounce for any highmem page
Coly Li 4e98e2
+	 */
Coly Li 4e98e2
+	blk_queue_bounce_limit(q, BLK_BOUNCE_HIGH);
Coly Li 4e98e2
+
Coly Li 4e98e2
 	return q;
Coly Li 4e98e2
 }
Coly Li 4e98e2
 EXPORT_SYMBOL(blk_init_queue_node);
Coly Li 4e98e2
@@ -989,11 +994,6 @@ int blk_init_allocated_queue(struct request_queue *q)
Coly Li 4e98e2
 	 */
Coly Li 4e98e2
 	blk_queue_make_request(q, blk_queue_bio);
Coly Li 4e98e2
 
Coly Li 4e98e2
-	/*
Coly Li 4e98e2
-	 * by default assume old behaviour and bounce for any highmem page
Coly Li 4e98e2
-	 */
Coly Li 4e98e2
-	blk_queue_bounce_limit(q, BLK_BOUNCE_HIGH);
Coly Li 4e98e2
-
Coly Li 4e98e2
 	q->sg_reserved_size = INT_MAX;
Coly Li 4e98e2
 
Coly Li 4e98e2
 	/* Protect q->elevator from elevator_change */
Coly Li 4e98e2
diff --git a/drivers/scsi/scsi_transport_sas.c b/drivers/scsi/scsi_transport_sas.c
Coly Li 4e98e2
index a190c052cd93..5006a656e16a 100644
Coly Li 4e98e2
--- a/drivers/scsi/scsi_transport_sas.c
Coly Li 4e98e2
+++ b/drivers/scsi/scsi_transport_sas.c
Coly Li 4e98e2
@@ -251,6 +251,11 @@ static int sas_bsg_initialize(struct Scsi_Host *shost, struct sas_rphy *rphy)
Coly Li 4e98e2
 	if (error)
Coly Li 4e98e2
 		goto out_cleanup_queue;
Coly Li 4e98e2
 
Coly Li 4e98e2
+	/*
Coly Li 4e98e2
+	 * by default assume old behaviour and bounce for any highmem page
Coly Li 4e98e2
+	 */
Coly Li 4e98e2
+	blk_queue_bounce_limit(q, BLK_BOUNCE_HIGH);
Coly Li 4e98e2
+
Coly Li 4e98e2
 	error = bsg_register_queue(q, dev, name, release);
Coly Li 4e98e2
 	if (error)
Coly Li 4e98e2
 		goto out_cleanup_queue;
Coly Li 4e98e2
-- 
Coly Li 4e98e2
2.13.1
Coly Li 4e98e2