diff options
author | Bui Quang Minh <minhquangbui99@gmail.com> | 2025-01-03 22:04:11 +0700 |
---|---|---|
committer | Jens Axboe <axboe@kernel.dk> | 2025-01-03 10:54:14 -0700 |
commit | 2a51c327d4a4a2eb62d67f4ea13a17efd0f25c5c (patch) | |
tree | 8fa8817b18252e4f4e589f4b66ee2d790903b31a /io_uring/rsrc.c | |
parent | d62c2f0d82753a05133411b1e242baf31f4ef68e (diff) |
io_uring/rsrc: simplify the bvec iter count calculation
As we don't use iov_iter_advance() but our own logic in io_import_fixed(),
we can remove the logic that over-sets the iter's count to len + offset
then adjusts it later to len. This helps to make the code cleaner.
Signed-off-by: Bui Quang Minh <minhquangbui99@gmail.com>
Link: https://lore.kernel.org/r/20250103150412.12549-1-minhquangbui99@gmail.com
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Diffstat (limited to 'io_uring/rsrc.c')
-rw-r--r-- | io_uring/rsrc.c | 4 |
1 files changed, 1 insertions, 3 deletions
diff --git a/io_uring/rsrc.c b/io_uring/rsrc.c index f2ff108485c8..964a47c8d85e 100644 --- a/io_uring/rsrc.c +++ b/io_uring/rsrc.c @@ -882,7 +882,7 @@ int io_import_fixed(int ddir, struct iov_iter *iter, * and advance us to the beginning. */ offset = buf_addr - imu->ubuf; - iov_iter_bvec(iter, ddir, imu->bvec, imu->nr_bvecs, offset + len); + iov_iter_bvec(iter, ddir, imu->bvec, imu->nr_bvecs, len); if (offset) { /* @@ -904,7 +904,6 @@ int io_import_fixed(int ddir, struct iov_iter *iter, const struct bio_vec *bvec = imu->bvec; if (offset < bvec->bv_len) { - iter->count -= offset; iter->iov_offset = offset; } else { unsigned long seg_skip; @@ -915,7 +914,6 @@ int io_import_fixed(int ddir, struct iov_iter *iter, iter->bvec += seg_skip; iter->nr_segs -= seg_skip; - iter->count -= bvec->bv_len + offset; iter->iov_offset = offset & ((1UL << imu->folio_shift) - 1); } } |