All of lore.kernel.org
 help / color / mirror / Atom feed
From: Christoph Hellwig <hch@lst.de>
To: axboe@fb.com
Cc: Matias Bjorling <mb@lightnvm.io>, linux-block@vger.kernel.org
Subject: [PATCH 2/6] block: remove blk_init_request_from_bio
Date: Thu,  6 Jun 2019 12:29:00 +0200	[thread overview]
Message-ID: <20190606102904.4024-3-hch@lst.de> (raw)
In-Reply-To: <20190606102904.4024-1-hch@lst.de>

lightnvm should have never used this function, as it is sending
passthrough requests, so switch it to blk_rq_append_bio like all the
other passthrough request users.  Inline blk_init_request_from_bio into
the only remaining caller.

Signed-off-by: Christoph Hellwig <hch@lst.de>
---
 block/blk-core.c             | 11 -----------
 block/blk-mq.c               |  7 ++++++-
 drivers/nvme/host/lightnvm.c |  2 +-
 include/linux/blkdev.h       |  1 -
 4 files changed, 7 insertions(+), 14 deletions(-)

diff --git a/block/blk-core.c b/block/blk-core.c
index 9b88b1a3eb43..a9cb465c7ef7 100644
--- a/block/blk-core.c
+++ b/block/blk-core.c
@@ -674,17 +674,6 @@ bool blk_attempt_plug_merge(struct request_queue *q, struct bio *bio,
 	return false;
 }
 
-void blk_init_request_from_bio(struct request *req, struct bio *bio)
-{
-	if (bio->bi_opf & REQ_RAHEAD)
-		req->cmd_flags |= REQ_FAILFAST_MASK;
-
-	req->__sector = bio->bi_iter.bi_sector;
-	req->write_hint = bio->bi_write_hint;
-	blk_rq_bio_prep(req->q, req, bio);
-}
-EXPORT_SYMBOL_GPL(blk_init_request_from_bio);
-
 static void handle_bad_sector(struct bio *bio, sector_t maxsector)
 {
 	char b[BDEVNAME_SIZE];
diff --git a/block/blk-mq.c b/block/blk-mq.c
index ce0f5f4ede70..61457bffa55f 100644
--- a/block/blk-mq.c
+++ b/block/blk-mq.c
@@ -1766,7 +1766,12 @@ void blk_mq_flush_plug_list(struct blk_plug *plug, bool from_schedule)
 
 static void blk_mq_bio_to_request(struct request *rq, struct bio *bio)
 {
-	blk_init_request_from_bio(rq, bio);
+	if (bio->bi_opf & REQ_RAHEAD)
+		rq->cmd_flags |= REQ_FAILFAST_MASK;
+
+	rq->__sector = bio->bi_iter.bi_sector;
+	rq->write_hint = bio->bi_write_hint;
+	blk_rq_bio_prep(rq->q, rq, bio);
 
 	blk_account_io_start(rq, true);
 }
diff --git a/drivers/nvme/host/lightnvm.c b/drivers/nvme/host/lightnvm.c
index 4f20a10b39d3..ba009d4c9dfa 100644
--- a/drivers/nvme/host/lightnvm.c
+++ b/drivers/nvme/host/lightnvm.c
@@ -660,7 +660,7 @@ static struct request *nvme_nvm_alloc_request(struct request_queue *q,
 	rq->cmd_flags &= ~REQ_FAILFAST_DRIVER;
 
 	if (rqd->bio)
-		blk_init_request_from_bio(rq, rqd->bio);
+		blk_rq_append_bio(rq, &rqd->bio);
 	else
 		rq->ioprio = IOPRIO_PRIO_VALUE(IOPRIO_CLASS_BE, IOPRIO_NORM);
 
diff --git a/include/linux/blkdev.h b/include/linux/blkdev.h
index 592669bcc536..c67a9510e532 100644
--- a/include/linux/blkdev.h
+++ b/include/linux/blkdev.h
@@ -828,7 +828,6 @@ extern void blk_unregister_queue(struct gendisk *disk);
 extern blk_qc_t generic_make_request(struct bio *bio);
 extern blk_qc_t direct_make_request(struct bio *bio);
 extern void blk_rq_init(struct request_queue *q, struct request *rq);
-extern void blk_init_request_from_bio(struct request *req, struct bio *bio);
 extern void blk_put_request(struct request *);
 extern struct request *blk_get_request(struct request_queue *, unsigned int op,
 				       blk_mq_req_flags_t flags);
-- 
2.20.1


  parent reply	other threads:[~2019-06-06 10:29 UTC|newest]

Thread overview: 32+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-06-06 10:28 remove bi_phys_segments and related cleanups Christoph Hellwig
2019-06-06 10:28 ` [PATCH 1/6] block: initialize the write priority in blk_rq_bio_prep Christoph Hellwig
2019-06-07  5:58   ` Hannes Reinecke
2019-06-07 12:20   ` Minwoo Im
2019-06-20 13:40   ` Minwoo Im
2019-06-06 10:29 ` Christoph Hellwig [this message]
2019-06-07  5:59   ` [PATCH 2/6] block: remove blk_init_request_from_bio Hannes Reinecke
2019-06-07 12:23   ` Minwoo Im
2019-06-07 12:57   ` Javier González
2019-06-09 19:51   ` Matias Bjørling
2019-06-06 10:29 ` [PATCH 3/6] block: remove the bi_phys_segments field in struct bio Christoph Hellwig
2019-06-07  6:02   ` Hannes Reinecke
2019-06-07 16:45     ` Christoph Hellwig
2019-06-09 22:17     ` Nikolay Borisov
2019-06-10 18:30   ` Bart Van Assche
2019-06-06 10:29 ` [PATCH 4/6] block: simplify blk_recalc_rq_segments Christoph Hellwig
2019-06-07  6:03   ` Hannes Reinecke
2019-06-06 10:29 ` [PATCH 5/6] block: untangle the end of blk_bio_segment_split Christoph Hellwig
2019-06-07  6:04   ` Hannes Reinecke
2019-06-06 10:29 ` [PATCH 6/6] block: mark blk_rq_bio_prep as inline Christoph Hellwig
2019-06-07  6:04   ` Hannes Reinecke
2019-06-20  9:44 ` remove bi_phys_segments and related cleanups Christoph Hellwig
2019-06-20 16:33 ` Jens Axboe
2019-07-01 16:46   ` Jens Axboe
2019-07-02 13:34     ` Christoph Hellwig
     [not found]       ` <bfe8a4b5-901e-5ac4-e11c-0e6ccc4faec2@kernel.dk>
2019-07-02 18:29         ` Christoph Hellwig
2019-07-02 18:37           ` Jens Axboe
2019-07-03  0:00             ` Christoph Hellwig
2019-07-03  1:10               ` Jens Axboe
2019-07-03  1:32                 ` Jens Axboe
2019-07-03  1:35                   ` Christoph Hellwig
2019-07-03 12:16                     ` Christoph Hellwig

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20190606102904.4024-3-hch@lst.de \
    --to=hch@lst.de \
    --cc=axboe@fb.com \
    --cc=linux-block@vger.kernel.org \
    --cc=mb@lightnvm.io \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.