]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
block: remove bio_copy_data_iter
authorChristoph Hellwig <hch@lst.de>
Fri, 15 May 2026 04:55:31 +0000 (06:55 +0200)
committerJens Axboe <axboe@kernel.dk>
Fri, 15 May 2026 14:46:45 +0000 (08:46 -0600)
Only used by bio_copy_data, so implement that directly.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Link: https://patch.msgid.link/20260515045547.3790129-3-hch@lst.de
Signed-off-by: Jens Axboe <axboe@kernel.dk>
block/bio.c
include/linux/bio.h

index b990c453d72fe7814212451cfdd61458b3e3440f..57d5a87b3e2f92075a9fe9a5fdeed068e5e9709c 100644 (file)
@@ -1575,26 +1575,6 @@ void __bio_advance(struct bio *bio, unsigned bytes)
 }
 EXPORT_SYMBOL(__bio_advance);
 
-void bio_copy_data_iter(struct bio *dst, struct bvec_iter *dst_iter,
-                       struct bio *src, struct bvec_iter *src_iter)
-{
-       while (src_iter->bi_size && dst_iter->bi_size) {
-               struct bio_vec src_bv = bio_iter_iovec(src, *src_iter);
-               struct bio_vec dst_bv = bio_iter_iovec(dst, *dst_iter);
-               unsigned int bytes = min(src_bv.bv_len, dst_bv.bv_len);
-               void *src_buf = bvec_kmap_local(&src_bv);
-               void *dst_buf = bvec_kmap_local(&dst_bv);
-
-               memcpy(dst_buf, src_buf, bytes);
-
-               kunmap_local(dst_buf);
-               kunmap_local(src_buf);
-
-               bio_advance_iter_single(src, src_iter, bytes);
-               bio_advance_iter_single(dst, dst_iter, bytes);
-       }
-}
-EXPORT_SYMBOL(bio_copy_data_iter);
 
 /**
  * bio_copy_data - copy contents of data buffers from one bio to another
@@ -1609,7 +1589,21 @@ void bio_copy_data(struct bio *dst, struct bio *src)
        struct bvec_iter src_iter = src->bi_iter;
        struct bvec_iter dst_iter = dst->bi_iter;
 
-       bio_copy_data_iter(dst, &dst_iter, src, &src_iter);
+       while (src_iter.bi_size && dst_iter.bi_size) {
+               struct bio_vec src_bv = bio_iter_iovec(src, src_iter);
+               struct bio_vec dst_bv = bio_iter_iovec(dst, dst_iter);
+               unsigned int bytes = min(src_bv.bv_len, dst_bv.bv_len);
+               void *src_buf = bvec_kmap_local(&src_bv);
+               void *dst_buf = bvec_kmap_local(&dst_bv);
+
+               memcpy(dst_buf, src_buf, bytes);
+
+               kunmap_local(dst_buf);
+               kunmap_local(src_buf);
+
+               bio_advance_iter_single(src, &src_iter, bytes);
+               bio_advance_iter_single(dst, &dst_iter, bytes);
+       }
 }
 EXPORT_SYMBOL(bio_copy_data);
 
index 84643fc0fb08d2cabc3e813c91434e97faf38c94..85463981d0f5df65011376cb327c8ffd31e5e37b 100644 (file)
@@ -478,8 +478,6 @@ extern void bio_check_pages_dirty(struct bio *bio);
 int bio_iov_iter_bounce(struct bio *bio, struct iov_iter *iter, size_t maxlen);
 void bio_iov_iter_unbounce(struct bio *bio, bool is_error, bool mark_dirty);
 
-extern void bio_copy_data_iter(struct bio *dst, struct bvec_iter *dst_iter,
-                              struct bio *src, struct bvec_iter *src_iter);
 extern void bio_copy_data(struct bio *dst, struct bio *src);
 extern void bio_free_pages(struct bio *bio);
 void zero_fill_bio(struct bio *bio);