linux-yocto/block
Damien Le Moal 5486888fbd block: Introduce bio_needs_zone_write_plugging()
commit f70291411b upstream.

In preparation for fixing device mapper zone write handling, introduce
the inline helper function bio_needs_zone_write_plugging() to test if a
BIO requires handling through zone write plugging using the function
blk_zone_plug_bio(). This function returns true for any write
(op_is_write(bio) == true) operation directed at a zoned block device
using zone write plugging, that is, a block device with a disk that has
a zone write plug hash table.

This helper allows simplifying the check on entry to blk_zone_plug_bio()
and used in to protect calls to it for blk-mq devices and DM devices.

Fixes: f211268ed1 ("dm: Use the block layer zone append emulation")
Cc: stable@vger.kernel.org
Signed-off-by: Damien Le Moal <dlemoal@kernel.org>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Link: https://lore.kernel.org/r/20250625093327.548866-3-dlemoal@kernel.org
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2025-08-20 18:41:35 +02:00
..
partitions for-6.15/block-20250322 2025-03-26 18:08:55 -07:00
badblocks.c badblocks: Fix a nonsense WARN_ON() which checks whether a u64 variable < 0 2025-03-10 07:41:58 -06:00
bdev.c xfs: New code for 6.16 2025-05-26 12:56:01 -07:00
bfq-cgroup.c Revert "block, bfq: merge bfq_release_process_ref() into bfq_put_cooperator()" 2024-11-19 19:05:32 -07:00
bfq-iosched.c lib/sbitmap: convert shallow_depth from one word to the whole sbitmap 2025-08-20 18:41:31 +02:00
bfq-iosched.h lib/sbitmap: convert shallow_depth from one word to the whole sbitmap 2025-08-20 18:41:31 +02:00
bfq-wf2q.c
bio-integrity-auto.c block: always allocate integrity buffer when required 2025-05-12 07:14:03 -06:00
bio-integrity.c block: drop direction param from bio_integrity_copy_user() 2025-06-03 12:45:45 -06:00
bio.c for-6.16/block-20250523 2025-05-26 11:39:36 -07:00
blk-cgroup-fc-appid.c
blk-cgroup-rwstat.c
blk-cgroup-rwstat.h blk-cgroup: rwstat: fix kernel-doc warnings in header file 2025-01-13 07:47:09 -07:00
blk-cgroup.c cgroup: Changes for v6.16 2025-05-27 20:59:53 -07:00
blk-cgroup.h block: correct locking order for protecting blk-wbt parameters 2025-03-19 11:35:45 -06:00
blk-core.c treewide, timers: Rename from_timer() to timer_container_of() 2025-06-08 09:07:37 +02:00
blk-crypto-fallback.c block: add a bi_write_stream field 2025-05-06 07:46:43 -06:00
blk-crypto-internal.h blk-crypto: add ioctls to create and prepare hardware-wrapped keys 2025-02-10 09:54:19 -07:00
blk-crypto-profile.c blk-crypto: export wrapped key functions 2025-05-06 19:08:08 +02:00
blk-crypto-sysfs.c blk-crypto: show supported key types in sysfs 2025-02-10 09:54:19 -07:00
blk-crypto.c blk-crypto: add ioctls to create and prepare hardware-wrapped keys 2025-02-10 09:54:19 -07:00
blk-flush.c block: remove unused parameter 2025-03-12 08:25:28 -06:00
blk-ia-ranges.c block: get rid of request queue ->sysfs_dir_lock 2025-01-29 07:16:47 -07:00
blk-integrity.c block: flip iter directions in blk_rq_integrity_map_user() 2025-06-03 17:24:59 -06:00
blk-ioc.c block: replace call_rcu by kfree_rcu for simple kmem_cache_free callback 2024-10-22 08:16:40 -06:00
blk-iocost.c for-6.15/block-20250322 2025-03-26 18:08:55 -07:00
blk-iolatency.c treewide, timers: Rename from_timer() to timer_container_of() 2025-06-08 09:07:37 +02:00
blk-ioprio.c blk-cgroup: Simplify policy files registration 2025-03-11 09:22:55 -10:00
blk-ioprio.h blk-ioprio: remove per-disk structure 2024-07-28 16:47:51 -06:00
blk-lib.c block: fix detection of unsupported WRITE SAME in blkdev_issue_write_zeroes 2024-08-28 08:49:25 -06:00
blk-map.c block: simplify bio_map_kern 2025-05-07 07:31:07 -06:00
blk-merge.c block: use plug request list tail for one-shot backmerge attempt 2025-06-11 08:48:46 -06:00
blk-mq-cpumap.c blk-mq: create correct map for fallback case 2025-01-23 06:34:32 -07:00
blk-mq-debugfs.c block: add new helper for disabling elevator switch when deleting disk 2025-05-06 07:43:43 -06:00
blk-mq-debugfs.h
blk-mq-dma.c blk-mq: add a copyright notice to blk-mq-dma.c 2025-05-16 08:43:41 -06:00
blk-mq-sched.c block: fail to show/store elevator sysfs attribute if elevator is dying 2025-05-06 07:43:43 -06:00
blk-mq-sched.h
blk-mq-sysfs.c block: protect hctx attributes/params using q->elevator_lock 2025-03-10 07:31:06 -06:00
blk-mq-tag.c block: remove unused parameter 2025-03-12 08:25:28 -06:00
blk-mq.c block: Introduce bio_needs_zone_write_plugging() 2025-08-20 18:41:35 +02:00
blk-mq.h block: clean up blk_mq_in_flight_rw() 2025-05-10 16:11:21 +08:00
blk-pm.c block: force noio scope in blk_mq_freeze_queue 2025-01-31 07:20:08 -07:00
blk-pm.h
blk-rq-qos.c block: blk-rq-qos: guard rq-qos helpers by static key 2025-04-21 05:07:03 -06:00
blk-rq-qos.h block: blk-rq-qos: guard rq-qos helpers by static key 2025-04-21 05:07:03 -06:00
blk-settings.c block: avoid possible overflow for chunk_sectors check in blk_stack_limits() 2025-08-20 18:41:32 +02:00
blk-stat.c treewide, timers: Rename from_timer() to timer_container_of() 2025-06-08 09:07:37 +02:00
blk-stat.h treewide: Switch/rename to timer_delete[_sync]() 2025-04-05 10:30:12 +02:00
blk-sysfs.c block: fix kobject double initialization in add_disk 2025-08-20 18:41:33 +02:00
blk-throttle.c treewide, timers: Rename from_timer() to timer_container_of() 2025-06-08 09:07:37 +02:00
blk-throttle.h blk-throttle: Prevents the bps restricted io from entering the bps queue again 2025-05-13 12:08:27 -06:00
blk-timeout.c
blk-wbt.c for-6.16/block-20250523 2025-05-26 11:39:36 -07:00
blk-wbt.h
blk-zoned.c block: Introduce bio_needs_zone_write_plugging() 2025-08-20 18:41:35 +02:00
blk.h block: fix kobject double initialization in add_disk 2025-08-20 18:41:33 +02:00
bsg-lib.c block: remove unused parameter 'q' parameter in __blk_rq_map_sg() 2025-03-13 05:46:19 -06:00
bsg.c
disk-events.c
early-lookup.c
elevator.c block: restore two stage elevator switch while running nr_hw_queue update 2025-08-15 16:38:24 +02:00
elevator.h block: move wbt_enable_default() out of queue freezing from sched ->exit() 2025-05-06 07:43:43 -06:00
fops.c block: expose write streams for block device nodes 2025-05-06 07:46:43 -06:00
genhd.c block: fix kobject double initialization in add_disk 2025-08-20 18:41:33 +02:00
holder.c
ioctl.c block: fix race between set_blocksize and read paths 2025-04-23 13:58:06 -06:00
ioprio.c block: remove test of incorrect io priority level 2025-05-08 09:04:12 -06:00
Kconfig block: Remove obsolete configs BLK_MQ_{PCI,VIRTIO} 2025-05-14 05:43:56 -06:00
Kconfig.iosched
kyber-iosched.c lib/sbitmap: convert shallow_depth from one word to the whole sbitmap 2025-08-20 18:41:31 +02:00
Makefile blk-mq: move the DMA mapping code to a separate file 2025-05-16 08:43:41 -06:00
mq-deadline.c lib/sbitmap: convert shallow_depth from one word to the whole sbitmap 2025-08-20 18:41:31 +02:00
opal_proto.h
sed-opal.c block: sed-opal: add ioctl IOC_OPAL_SET_SID_PW 2024-10-22 08:16:40 -06:00
t10-pi.c for-6.15/block-20250322 2025-03-26 18:08:55 -07:00