Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 9c9381f9 authored by Jens Axboe's avatar Jens Axboe
Browse files

[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: default avatarJens Axboe <jens.axboe@oracle.com>
parent 1aa4f24f
Loading
Loading
Loading
Loading
+0 −9
Original line number Diff line number Diff line
@@ -2359,18 +2359,10 @@ static int __blk_rq_map_user(request_queue_t *q, struct request *rq,
	 */
	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)
		blk_rq_bio_prep(q, rq, bio);
	else if (!ll_back_merge_fn(q, rq, bio)) {
		ret = -EINVAL;
		spin_unlock_irq(q->queue_lock);
		goto unmap_bio;
	} else {
		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;
	}
	spin_unlock_irq(q->queue_lock);

	return bio->bi_size;