block: don't set bounce limit in blk_init_allocated_queue
authorChristoph Hellwig <hch@lst.de>
Mon, 19 Jun 2017 07:26:25 +0000 (09:26 +0200)
committerJens Axboe <axboe@kernel.dk>
Tue, 27 Jun 2017 18:13:45 +0000 (12:13 -0600)
And just move it into scsi_transport_sas which needs it due to low-level
drivers directly derferencing bio_data, and into blk_init_queue_node,
which will need a further push into the callers.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
block/blk-core.c
drivers/scsi/scsi_transport_sas.c

index 8699c423fa6e18b5c410deebef7c2d498a179247..33b27541dc17f61f0dc8848c655d54e8b7580447 100644 (file)
@@ -960,6 +960,11 @@ blk_init_queue_node(request_fn_proc *rfn, spinlock_t *lock, int node_id)
                return NULL;
        }
 
+       /*
+        * by default assume old behaviour and bounce for any highmem page
+        */
+       blk_queue_bounce_limit(q, BLK_BOUNCE_HIGH);
+
        return q;
 }
 EXPORT_SYMBOL(blk_init_queue_node);
@@ -989,11 +994,6 @@ int blk_init_allocated_queue(struct request_queue *q)
         */
        blk_queue_make_request(q, blk_queue_bio);
 
-       /*
-        * by default assume old behaviour and bounce for any highmem page
-        */
-       blk_queue_bounce_limit(q, BLK_BOUNCE_HIGH);
-
        q->sg_reserved_size = INT_MAX;
 
        /* Protect q->elevator from elevator_change */
index a190c052cd9399f15561f06267d8ffb533aaba69..5006a656e16a775b055d0c94b8809577ee34fcb3 100644 (file)
@@ -251,6 +251,11 @@ static int sas_bsg_initialize(struct Scsi_Host *shost, struct sas_rphy *rphy)
        if (error)
                goto out_cleanup_queue;
 
+       /*
+        * by default assume old behaviour and bounce for any highmem page
+        */
+       blk_queue_bounce_limit(q, BLK_BOUNCE_HIGH);
+
        error = bsg_register_queue(q, dev, name, release);
        if (error)
                goto out_cleanup_queue;