Commit f695ca38 authored by Christoph Hellwig's avatar Christoph Hellwig Committed by Jens Axboe
Browse files

block: remove the request_queue argument from blk_queue_split



The queue can be trivially derived from the bio, so pass one less
argument.

Signed-off-by: default avatarChristoph Hellwig <hch@lst.de>
Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
parent ed9b3196
Loading
Loading
Loading
Loading
+10 −11
Original line number Diff line number Diff line
@@ -283,20 +283,20 @@ split:

/**
 * __blk_queue_split - split a bio and submit the second half
 * @q:       [in] request queue pointer
 * @bio:     [in, out] bio to be split
 * @nr_segs: [out] number of segments in the first bio
 *
 * Split a bio into two bios, chain the two bios, submit the second half and
 * store a pointer to the first half in *@bio. If the second bio is still too
 * big it will be split by a recursive call to this function. Since this
 * function may allocate a new bio from @q->bio_split, it is the responsibility
 * of the caller to ensure that @q is only released after processing of the
 * function may allocate a new bio from @bio->bi_disk->queue->bio_split, it is
 * the responsibility of the caller to ensure that
 * @bio->bi_disk->queue->bio_split is only released after processing of the
 * split bio has finished.
 */
void __blk_queue_split(struct request_queue *q, struct bio **bio,
		unsigned int *nr_segs)
void __blk_queue_split(struct bio **bio, unsigned int *nr_segs)
{
	struct request_queue *q = (*bio)->bi_disk->queue;
	struct bio *split = NULL;

	switch (bio_op(*bio)) {
@@ -345,20 +345,19 @@ void __blk_queue_split(struct request_queue *q, struct bio **bio,

/**
 * blk_queue_split - split a bio and submit the second half
 * @q:   [in] request queue pointer
 * @bio: [in, out] bio to be split
 *
 * Split a bio into two bios, chains the two bios, submit the second half and
 * store a pointer to the first half in *@bio. Since this function may allocate
 * a new bio from @q->bio_split, it is the responsibility of the caller to
 * ensure that @q is only released after processing of the split bio has
 * finished.
 * a new bio from @bio->bi_disk->queue->bio_split, it is the responsibility of
 * the caller to ensure that @bio->bi_disk->queue->bio_split is only released
 * after processing of the split bio has finished.
 */
void blk_queue_split(struct request_queue *q, struct bio **bio)
void blk_queue_split(struct bio **bio)
{
	unsigned int nr_segs;

	__blk_queue_split(q, bio, &nr_segs);
	__blk_queue_split(bio, &nr_segs);
}
EXPORT_SYMBOL(blk_queue_split);

+1 −1
Original line number Diff line number Diff line
@@ -2166,7 +2166,7 @@ blk_qc_t blk_mq_make_request(struct request_queue *q, struct bio *bio)
	blk_status_t ret;

	blk_queue_bounce(q, &bio);
	__blk_queue_split(q, &bio, &nr_segs);
	__blk_queue_split(&bio, &nr_segs);

	if (!bio_integrity_prep(bio))
		goto queue_exit;
+1 −2
Original line number Diff line number Diff line
@@ -220,8 +220,7 @@ ssize_t part_timeout_show(struct device *, struct device_attribute *, char *);
ssize_t part_timeout_store(struct device *, struct device_attribute *,
				const char *, size_t);

void __blk_queue_split(struct request_queue *q, struct bio **bio,
		unsigned int *nr_segs);
void __blk_queue_split(struct bio **bio, unsigned int *nr_segs);
int ll_back_merge_fn(struct request *req, struct bio *bio,
		unsigned int nr_segs);
int ll_front_merge_fn(struct request *req,  struct bio *bio,
+1 −1
Original line number Diff line number Diff line
@@ -1598,7 +1598,7 @@ blk_qc_t drbd_make_request(struct request_queue *q, struct bio *bio)
	struct drbd_device *device = bio->bi_disk->private_data;
	unsigned long start_jif;

	blk_queue_split(q, &bio);
	blk_queue_split(&bio);

	start_jif = jiffies;

+1 −1
Original line number Diff line number Diff line
@@ -2434,7 +2434,7 @@ static blk_qc_t pkt_make_request(struct request_queue *q, struct bio *bio)
	char b[BDEVNAME_SIZE];
	struct bio *split;

	blk_queue_split(q, &bio);
	blk_queue_split(&bio);

	pd = q->queuedata;
	if (!pd) {
Loading