]> www.infradead.org Git - nvme.git/commitdiff
block: Make bio_iov_bvec_set() accept pointer to const iov_iter
authorJohn Garry <john.g.garry@oracle.com>
Mon, 2 Dec 2024 11:57:27 +0000 (11:57 +0000)
committerJens Axboe <axboe@kernel.dk>
Thu, 12 Dec 2024 15:43:28 +0000 (08:43 -0700)
Make bio_iov_bvec_set() accept a pointer to const iov_iter, which means
that we can drop the undesirable casting to struct iov_iter pointer in
blk_rq_map_user_bvec().

Signed-off-by: John Garry <john.g.garry@oracle.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Link: https://lore.kernel.org/r/20241202115727.2320401-1-john.g.garry@oracle.com
Signed-off-by: Jens Axboe <axboe@kernel.dk>
block/bio.c
block/blk-map.c
include/linux/bio.h

index 699a78c85c75660fed2463759e2491bb12c63453..d5bdc31d88d327bac40535059080e3f571741811 100644 (file)
@@ -1171,7 +1171,7 @@ void __bio_release_pages(struct bio *bio, bool mark_dirty)
 }
 EXPORT_SYMBOL_GPL(__bio_release_pages);
 
-void bio_iov_bvec_set(struct bio *bio, struct iov_iter *iter)
+void bio_iov_bvec_set(struct bio *bio, const struct iov_iter *iter)
 {
        WARN_ON_ONCE(bio->bi_max_vecs);
 
index b5fd1d8574615e28da206b6e12a1b81009279fff..894009b2d881be743fb46ad8b5282ef565ec8482 100644 (file)
@@ -574,7 +574,7 @@ static int blk_rq_map_user_bvec(struct request *rq, const struct iov_iter *iter)
        bio = blk_rq_map_bio_alloc(rq, 0, GFP_KERNEL);
        if (!bio)
                return -ENOMEM;
-       bio_iov_bvec_set(bio, (struct iov_iter *)iter);
+       bio_iov_bvec_set(bio, iter);
 
        /* check that the data layout matches the hardware restrictions */
        ret = bio_split_rw_at(bio, lim, &nsegs, max_bytes);
index 60830a6a59394f546d3e87d3fd93517038b24a42..7a1b3b1a8fed06a642104bdd68d883eea17b7d74 100644 (file)
@@ -423,7 +423,7 @@ void __bio_add_page(struct bio *bio, struct page *page,
 void bio_add_folio_nofail(struct bio *bio, struct folio *folio, size_t len,
                          size_t off);
 int bio_iov_iter_get_pages(struct bio *bio, struct iov_iter *iter);
-void bio_iov_bvec_set(struct bio *bio, struct iov_iter *iter);
+void bio_iov_bvec_set(struct bio *bio, const struct iov_iter *iter);
 void __bio_release_pages(struct bio *bio, bool mark_dirty);
 extern void bio_set_pages_dirty(struct bio *bio);
 extern void bio_check_pages_dirty(struct bio *bio);