block: don't set bounce limit in blk_init_allocated_queue

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>
This commit is contained in:
Christoph Hellwig 2017-06-19 09:26:25 +02:00 committed by Jens Axboe
parent 46685d1a95
commit 0bf6595ec8
2 changed files with 10 additions and 5 deletions

View 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 */

View 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;