linux/block
Keith Busch 96c8ea3c5a block: save page offset gaps in cloned bio
The cloned bio needs to inherit the accumulated gaps between vectors so
that we can know if this bio can subscribe to the iova coalescing
optimization.

When cloning for a split, the gap only applies to the front bio since
that's as far as has been processed. The remaining bio can reset its
gaps to 0 since it advanced past the checked vectors, and will start its
accounting from there on the next split check.

Fixes: 2f6b2565d4 ("block: accumulate memory segment gaps per bio")
Reported-by: Eric Auger <eauger@redhat.com>
Tested-by: Eric Auger <eric.auger@redhat.com>
Signed-off-by: Keith Busch <kbusch@kernel.org>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Link: https://patch.msgid.link/20260819154937.3903312-1-kbusch@meta.com
Signed-off-by: Jens Axboe <axboe@kernel.dk>
2026-09-01 08:42:34 -06:00
..
partitions partitions: aix: bound the lvd scan to one sector 2026-07-15 16:32:49 -06:00
badblocks.c
bdev.c for-7.3/block-20260819 2026-08-20 13:55:16 -07:00
bfq-cgroup.c block/bfq-cgroup: use data_race() for online test 2026-08-03 20:18:08 -06:00
bfq-iosched.c block, bfq: don't grab queue_lock to initialize bfq 2026-06-24 06:42:31 -06:00
bfq-iosched.h
bfq-wf2q.c
bio-integrity-auto.c block: lift BIP_CHECK_FLAGS to include/linux/bio-integrity.h 2026-08-04 07:22:27 -06:00
bio-integrity-fs.c block: handle nogenerate/noverify properly in fs-integrity 2026-08-04 07:22:27 -06:00
bio-integrity.c block: handle REQ_OP_ZONE_APPEND in __bio_integrity_action 2026-06-24 06:53:25 -06:00
bio.c block: save page offset gaps in cloned bio 2026-09-01 08:42:34 -06:00
blk-cgroup-fc-appid.c
blk-cgroup-rwstat.c block/blk-cgroup-rwstat: use data_race() for online test 2026-08-03 20:00:09 -06:00
blk-cgroup-rwstat.h
blk-cgroup.c block: skip blkcg walk in blk_cgroup_congested() when nothing throttled 2026-08-15 17:15:08 -06:00
blk-cgroup.h block: skip blkcg walk in blk_cgroup_congested() when nothing throttled 2026-08-15 17:15:08 -06:00
blk-core.c block: also reject zone open / close on conventional zones 2026-08-04 06:55:31 -06:00
blk-crypto-fallback.c blk-crypto: Simplify check for fallback support 2026-07-20 10:39:25 -07:00
blk-crypto-internal.h blk-crypto: Fold __blk_crypto_cfg_supported() into its caller 2026-07-20 10:39:25 -07:00
blk-crypto-profile.c blk-crypto: Fold __blk_crypto_cfg_supported() into its caller 2026-07-20 10:39:25 -07:00
blk-crypto-sysfs.c
blk-crypto.c blk-crypto: Remove unused function blk_crypto_config_supported() 2026-07-20 10:39:26 -07:00
blk-flush.c
blk-ia-ranges.c
blk-integrity.c
blk-ioc.c
blk-iocost.c blk-iocost: clear delay state when freeing policy data 2026-08-15 17:15:08 -06:00
blk-iolatency.c blk-iolatency: clear delay state when freeing policy data 2026-08-15 17:15:08 -06:00
blk-ioprio.c
blk-ioprio.h
blk-lib.c
blk-map.c block: introduce bio_iov_iter_set() 2026-08-15 17:09:32 -06:00
blk-merge.c block: rename bi_bvec_done 2026-08-06 06:47:33 -06:00
blk-mq-cpumap.c
blk-mq-debugfs.c block/blk-mq-debugfs: Improve lock context annotations 2026-06-05 13:41:11 -06:00
blk-mq-debugfs.h
blk-mq-dma.c block: rename bi_bvec_done 2026-08-06 06:47:33 -06:00
blk-mq-sched.c
blk-mq-sched.h
blk-mq-sysfs.c
blk-mq-tag.c
blk-mq.c blk-mq: add missing call to srcu_barrier() in blk_mq_free_tag_set() 2026-08-15 19:57:52 -06:00
blk-mq.h
blk-pm.c
blk-pm.h
blk-rq-qos.c
blk-rq-qos.h
blk-settings.c
blk-stat.c block/blk-stat: drain per-cpu callback stats over possible CPUs 2026-08-03 20:03:20 -06:00
blk-stat.h
blk-sysfs.c block: add configurable error injection 2026-06-12 10:40:35 -06:00
blk-throttle.c blk-cgroup: delay freeing policy data after rcu grace period 2026-06-24 06:37:54 -06:00
blk-throttle.h blk-throttle: remove dead field last_check_time from throtl_grp 2026-08-03 20:04:49 -06:00
blk-timeout.c
blk-wbt.c block: Make WBT latency writes honor enable state 2026-07-01 19:07:20 -06:00
blk-wbt.h
blk-zoned.c block: remove blk_zone_wplug_handle_zone_mgmt 2026-08-04 06:55:31 -06:00
blk.h block: rename bi_bvec_done 2026-08-06 06:47:33 -06:00
bsg-lib.c
bsg.c
disk-events.c
early-lookup.c
elevator.c block: serialize elevator changes for the same queue using a writer lock 2026-07-16 06:08:38 -06:00
elevator.h
error-injection.c block: show operation in error injection rules 2026-07-16 06:08:55 -06:00
error-injection.h block: add configurable error injection 2026-06-12 10:40:35 -06:00
fops.c for-7.3/block-20260819 2026-08-20 13:55:16 -07:00
genhd.c block: flag zoned disks with GENHD_FL_NO_PART 2026-08-31 22:42:09 -06:00
holder.c
ioctl.c block: implement async io_uring zone reset all 2026-08-04 06:55:31 -06:00
ioprio.c
Kconfig block: add configurable error injection 2026-06-12 10:40:35 -06:00
Kconfig.iosched
kyber-iosched.c block/kyber-iosched: flush per-cpu latency buckets over possible CPUs 2026-08-03 20:03:20 -06:00
Makefile block: add configurable error injection 2026-06-12 10:40:35 -06:00
mq-deadline.c block/mq-deadline: Drop unused dd parameters 2026-08-15 17:14:50 -06:00
opal_proto.h
sed-opal.c
t10-pi.c