[PATCH] __blk_rq_map_user() doesn't need to grab the queue_lock
It was for driver private back_merge_fn hooks, but they don't exist anymore. Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
This commit is contained in:
parent
1aa4f24fe9
commit
9c9381f942
1 changed files with 0 additions and 9 deletions
|
@ -2359,18 +2359,10 @@ static int __blk_rq_map_user(request_queue_t *q, struct request *rq,
|
||||||
*/
|
*/
|
||||||
bio_get(bio);
|
bio_get(bio);
|
||||||
|
|
||||||
/*
|
|
||||||
* for most (all? don't know of any) queues we could
|
|
||||||
* skip grabbing the queue lock here. only drivers with
|
|
||||||
* funky private ->back_merge_fn() function could be
|
|
||||||
* problematic.
|
|
||||||
*/
|
|
||||||
spin_lock_irq(q->queue_lock);
|
|
||||||
if (!rq->bio)
|
if (!rq->bio)
|
||||||
blk_rq_bio_prep(q, rq, bio);
|
blk_rq_bio_prep(q, rq, bio);
|
||||||
else if (!ll_back_merge_fn(q, rq, bio)) {
|
else if (!ll_back_merge_fn(q, rq, bio)) {
|
||||||
ret = -EINVAL;
|
ret = -EINVAL;
|
||||||
spin_unlock_irq(q->queue_lock);
|
|
||||||
goto unmap_bio;
|
goto unmap_bio;
|
||||||
} else {
|
} else {
|
||||||
rq->biotail->bi_next = bio;
|
rq->biotail->bi_next = bio;
|
||||||
|
@ -2378,7 +2370,6 @@ static int __blk_rq_map_user(request_queue_t *q, struct request *rq,
|
||||||
|
|
||||||
rq->data_len += bio->bi_size;
|
rq->data_len += bio->bi_size;
|
||||||
}
|
}
|
||||||
spin_unlock_irq(q->queue_lock);
|
|
||||||
|
|
||||||
return bio->bi_size;
|
return bio->bi_size;
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue