From: Jens Axboe <axboe@kernel.dk>
To: Linus Torvalds <torvalds@linux-foundation.org>
Cc: "linux-block@vger.kernel.org" <linux-block@vger.kernel.org>
Subject: [GIT PULL] Block updates for 6.19-rc1
Date: Mon, 1 Dec 2025 09:12:32 -0700 [thread overview]
Message-ID: <e62f9ce3-00ae-4453-8047-1f938a5d51a3@kernel.dk> (raw)
Hi Linus,
Here are the block changes queued for 6.19-rc1. This pull request
contains:
- Fix head insertion for mq-deadline, a regression from when priority
support was added.
- Series simplifying and improving the ublk user copy code.
- Various ublk related cleanups.
- Fixup REQ_NOWAIT handling in loop/zloop, clearing NOWAIT when the
request is punted to a thread for handling.
- Merge and then later revert loop dio nowait support, as it ended up
causing excessive stack usage for when the inline issue code needs to
dip back into the full file system code.
- Improve auto integrity code, making it less deadlock prone.
- Speedup polled IO handling, but manually managing the hctx lookups.
- Fixes for blk-throttle for SSD devices.
- Small series with fixes for the S390 dasd driver.
- Add support for caching zones, avoiding unnecessary report zone
queries.
- MD pull requests via Yu
- fix null-ptr-dereference regression for dm-raid0
- fix IO hang for raid5 when array is broken with IO inflight
- remove legacy 1s delay to speed up system shutdown
- Change maintainer's email address
- Data can be lost if array is created with different lbs
devices, fix this problem and record lbs of the array in
metadata
- Fix rcu protection for md_thread
- Fix mddev kobject lifetime regression
- Enable atomic writes for md-linear
- Some cleanups
- bcache updates via Coly
- Remove useless discard and cache device code
- Improve usage of per-cpu workqueues
- Reorganize the IO scheduler switching code, fixing some lockdep
reports as well.
- Improve the block layer P2P DMA support.
- Add support to the block tracing code for zoned devices.
- Segment calculation improves, and memory alignment flexibility
improvements.
- Set of prep and cleanups patches for ublk batching support. The actual
batching hasn't been added yet, but helps shrink down the workload of
getting that patchset ready for 6.20.
- Fix for how the ps3 block driver handles segments offsets.
- Improve how block plugging handles batch tag allocations.
- nbd fixes for use-after-free of the configuration on device clear/put.
- Set of improvements and fixes for zloop.
- Add Damien as maintainer of the block zoned device code handling.
- Various other fixes and cleanups.
This will throw a merge conflict in null_blk main.c, where the
resolution is to just keep the dma_alignment = 1 part of it. It will
also throw a conflict in blk-settings.c, where the resolution is to just
keep both of the checks.
Please pull!
The following changes since commit 211ddde0823f1442e4ad052a2f30f050145ccada:
Linux 6.18-rc2 (2025-10-19 15:19:16 -1000)
are available in the Git repository at:
https://git.kernel.org/pub/scm/linux/kernel/git/axboe/linux.git tags/for-6.19/block-20251201
for you to fetch changes up to d211a2803551c8ffdf0b97d129388f7d9cc129b5:
block/rnbd: correct all kernel-doc complaints (2025-12-01 07:19:50 -0700)
----------------------------------------------------------------
for-6.19/block-20251201
----------------------------------------------------------------
Bart Van Assche (7):
block/mq-deadline: Introduce dd_start_request()
block/mq-deadline: Switch back to a single dispatch list
blk-zoned: Fix a typo in a source code comment
blk-zoned: Document disk_zone_wplug_schedule_bio_work() locking
blk-zoned: Move code from disk_zone_wplug_add_bio() into its caller
fs: Add the __data_racy annotation to backing_dev_info.ra_pages
block: Remove queue freezing from several sysfs store callbacks
Caleb Sander Mateos (5):
ublk: use copy_{to,from}_iter() for user copy
ublk: use rq_for_each_segment() for user copy
block: clean up indentation in blk_rq_map_iter_init()
ublk: remove unnecessary checks in ublk_check_and_get_req()
ublk: return unsigned from ublk_{,un}map_io()
Chaitanya Kulkarni (7):
blktrace: use debug print to report dropped events
blktrace: for ftrace use correct trace format ver
blktrace: add support for REQ_OP_WRITE_ZEROES tracing
block: add lockdep to queue_limits_commit_update()
loop: clear nowait flag in workqueue context
zloop: clear nowait flag in workqueue context
block: ignore __blkdev_issue_discard() return value
Chen Ni (1):
md/md-llbitmap: Remove unneeded semicolon
Chengkaitao (1):
block: remove the declaration of elevator_init_mq function
Christoph Hellwig (5):
block: blocking mempool_alloc doesn't fail
block: make bio auto-integrity deadlock safe
block: don't leak disk->zones_cond for !disk_need_zone_resources
block: fix cached zone reporting after zone append was used
block: don't return 1 for the fallback case in blkdev_get_zone_info
Coly Li (5):
bcache: get rid of discard code from journal
bcache: remove discard code from alloc.c
bcache: drop discard sysfs interface
bcache: remove discard sysfs interface document
bcache: reduce gc latency by processing less nodes and sleep less time
Cong Zhang (1):
virtio_blk: NULL out vqs to avoid double free on failed resume
Damien Le Moal (30):
block: handle zone management operations completions
block: freeze queue when updating zone resources
block: cleanup blkdev_report_zones()
block: introduce disk_report_zone()
block: reorganize struct blk_zone_wplug
block: use zone condition to determine conventional zones
block: track zone conditions
block: refactor blkdev_report_zones() code
block: introduce blkdev_get_zone_info()
block: introduce blkdev_report_zones_cached()
block: introduce BLKREPORTZONESV2 ioctl
block: improve zone_wplugs debugfs attribute output
block: add zone write plug condition to debugfs zone_wplugs
btrfs: use blkdev_report_zones_cached()
xfs: use blkdev_report_zones_cached()
block: improve blk_zone_wp_offset()
block: refactor disk_zone_wplug_sync_wp_offset()
block: introduce bdev_zone_start()
block: fix NULL pointer dereference in blk_zone_reset_all_bio_endio()
block: fix NULL pointer dereference in disk_report_zones()
dm: fix zone reset all operation processing
zloop: make the write pointer of full zones invalid
zloop: fail zone append operations that are targeting full zones
zloop: simplify checks for writes to sequential zones
zloop: introduce the zone_append configuration parameter
zloop: introduce the ordered_zone_append configuration parameter
Documentation: admin-guide: blockdev: update zloop parameters
MAINTAINERS: add missing block layer user API header files
MAINTAINERS: add a maintainer for zoned block device support
zloop: fix zone append check in zloop_rw()
David Laight (1):
block: use min() instead of min_t()
Fengnan Chang (3):
blk-mq: use array manage hctx map instead of xarray
blk-mq: fix potential uaf for 'queue_hw_ctx'
blk-mq: use queue_hctx in blk_mq_map_queue_type
Guenter Roeck (3):
block/blk-throttle: Fix throttle slice time for SSDs
block/blk-throttle: drop unneeded blk_stat_enable_accounting
block/blk-throttle: Remove throtl_slice from struct throtl_data
Gustavo A. R. Silva (1):
bcache: Avoid -Wflex-array-member-not-at-end warning
Huiwen He (1):
md/raid5: remove redundant __GFP_NOWARN
Jan Höppner (2):
s390/dasd: Move device name formatting into separate function
s390/dasd: Use scnprintf() instead of sprintf()
Jens Axboe (10):
Merge branch 'autopi-deadlock' into for-6.19/block
Merge branch 'cached-zones' into for-6.19/block
Merge tag 'md-6.19-20251111' of gitolite.kernel.org:pub/scm/linux/kernel/git/mdraid/linux into for-6.19/block
Merge branch 'bcache-updates-6.19' into for-6.19/block
Merge branch 'elevator-switch-6.19' into for-6.19/block
Merge branch 'p2pdma-mmio-6.19.v5' into for-6.19/block
Merge branch 'loop-aio-nowait' into for-6.19/block
Revert "block: consider discard merge last"
Revert "Merge branch 'loop-aio-nowait' into for-6.19/block"
Merge tag 'md-6.19-20251130' of gitolite.kernel.org:pub/scm/linux/kernel/git/mdraid/linux into for-6.19/block
Johannes Thumshirn (16):
blktrace: only calculate trace length once
blktrace: factor out recording a blktrace event
blktrace: split out relaying a blktrace event
blktrace: untangle if/else sequence in __blk_add_trace
blktrace: change the internal action to 64bit
blktrace: split do_blk_trace_setup into two functions
blktrace: add definitions for blk_user_trace_setup2
blktrace: pass blk_user_trace2 to setup functions
blktrace: add definitions for struct blk_io_trace2
blktrace: differentiate between blk_io_trace versions
blktrace: move trace_note to blk_io_trace2
blktrace: move ftrace blk_io_tracer to blk_io_trace2
blktrace: add block trace commands for zone operations
blktrace: expose ZONE APPEND completions to blktrace
blktrace: trace zone write plugging operations
blktrace: handle BLKTRACESETUP2 ioctl
John Garry (2):
md/md-linear: Enable atomic writes
block: Remove references to __device_add_disk()
Keith Busch (10):
block: rename min_segment_size
null_blk: simplify copy_from_nullb
null_blk: consistently use blk_status_t
null_blk: single kmap per bio segment
null_blk: allow byte aligned memory offsets
block: accumulate memory segment gaps per bio
nvme: remove virtual boundary for sgl capable devices
block: fix merging data-less bios
null_blk: fix zone read length beyond write pointer
block: consider discard merge last
Kevin Brodsky (1):
ublk: prevent invalid access with DEBUG
Kriish Sharma (1):
blk-mq-dma: fix kernel-doc function name for integrity DMA iterator
Leon Romanovsky (2):
nvme-pci: migrate to dma_map_phys instead of map_page
block-dma: properly take MMIO path
Li Chen (1):
block: rate-limit capacity change info log
Li Nan (6):
md: prevent adding disks with larger logical_block_size to active arrays
md: delete md_redundancy_group when array is becoming inactive
md: init bioset in mddev_init
md/raid0: Move queue limit setup before r0conf initialization
md: add check_new_feature module parameter
md: allow configuring logical block size
Marco Crivellari (2):
bcache: replace use of system_wq with system_percpu_wq
bcache: WQ_PERCPU added to alloc_workqueue users
Mehdi Ben Hadj Khelifa (1):
blk-mq: use struct_size() in kmalloc()
Ming Lei (17):
ublk: reorder tag_set initialization before queue allocation
ublk: implement NUMA-aware memory allocation
ublk: use struct_size() for allocation
selftests: ublk: set CPU affinity before thread initialization
selftests: ublk: make ublk_thread thread-local variable
loop: add helper lo_cmd_nr_bvec()
loop: add helper lo_rw_aio_prep()
loop: add lo_submit_rw_aio()
loop: move command blkcg/memcg initialization into loop_queue_work
loop: try to handle loop aio command via NOWAIT IO first
loop: add hint for handling aio via IOCB_NOWAIT
kfifo: add kfifo_alloc_node() helper for NUMA awareness
ublk: add parameter `struct io_uring_cmd *` to ublk_prep_auto_buf_reg()
ublk: add `union ublk_io_buf` with improved naming
ublk: refactor auto buffer register in ublk_dispatch_req()
ublk: pass const pointer to ublk_queue_is_zoned()
ublk: add helper of __ublk_fetch()
Nilay Shroff (5):
block: unify elevator tags and type xarrays into struct elv_change_ctx
block: move elevator tags into struct elevator_resources
block: introduce alloc_sched_data and free_sched_data elevator methods
block: use {alloc|free}_sched data methods
block: define alloc_sched_data and free_sched_data methods for kyber
Qianfeng Rong (1):
bcache: remove redundant __GFP_NOWARN
Randy Dunlap (2):
sbitmap: fix all kernel-doc warnings
block/rnbd: correct all kernel-doc complaints
Rene Rebe (2):
ps3disk: use memcpy_{from,to}_bvec index
floppy: fix for PAGE_SIZE != 4KB
Shankari Anand (1):
rust: block: update ARef and AlwaysRefCounted imports from sync::aref
Shi Hao (1):
drbd: replace kmap() with kmap_local_page() in receiver path
Stefan Haberland (2):
s390/dasd: Fix gendisk parent after copy pair swap
s390/dasd: Remove unnecessary debugfs_create() return checks
Sukrut Heroorkar (1):
drbd: turn bitmap I/O comments into regular block comments
Tarun Sahu (1):
md: remove legacy 1s delay in md_notify_reboot
Wu Guanghao (1):
Factor out code into md_should_do_recovery()
Xiao Ni (2):
md: delete mddev kobj before deleting gendisk kobj
md: avoid repeated calls to del_gendisk
Xue He (1):
block: plug attempts to batch allocate tags multiple times
Yu Kuai (4):
MAINTAINERS: Update Yu Kuai's E-mail address
md/raid0: fix NULL pointer dereference in create_strip_zones() for dm-raid
md: warn about updating super block failure
md/raid5: fix IO hang when array is broken with IO inflight
Yun Zhou (1):
md: fix rcu protection in md_wakeup_thread
Zheng Qixing (2):
nbd: defer config put in recv_work
nbd: defer config unlock in nbd_genl_connect
shechenglong (1):
block: fix typos in comments and strings in blk-core
Documentation/ABI/testing/sysfs-block-bcache | 7 -
Documentation/admin-guide/bcache.rst | 13 +-
Documentation/admin-guide/blockdev/zoned_loop.rst | 61 +-
Documentation/admin-guide/md.rst | 10 +
MAINTAINERS | 13 +-
block/bio-integrity-auto.c | 26 +-
block/bio-integrity.c | 48 ++
block/bio.c | 1 +
block/blk-core.c | 12 +-
block/blk-iocost.c | 6 +-
block/blk-lib.c | 6 +-
block/blk-map.c | 3 +
block/blk-merge.c | 44 +-
block/blk-mq-dma.c | 29 +-
block/blk-mq-sched.c | 120 ++-
block/blk-mq-sched.h | 40 +-
block/blk-mq-tag.c | 2 +-
block/blk-mq.c | 152 ++--
block/blk-mq.h | 2 +-
block/blk-settings.c | 27 +-
block/blk-sysfs.c | 26 +-
block/blk-throttle.c | 45 +-
block/blk-zoned.c | 928 ++++++++++++++++------
block/blk.h | 23 +-
block/elevator.c | 80 +-
block/elevator.h | 27 +-
block/genhd.c | 8 +-
block/ioctl.c | 2 +
block/kyber-iosched.c | 30 +-
block/mq-deadline.c | 129 ++-
block/partitions/efi.c | 3 +-
drivers/block/drbd/drbd_bitmap.c | 10 +-
drivers/block/drbd/drbd_receiver.c | 8 +-
drivers/block/floppy.c | 2 +-
drivers/block/loop.c | 4 +
drivers/block/nbd.c | 5 +-
drivers/block/null_blk/main.c | 81 +-
drivers/block/null_blk/null_blk.h | 3 +-
drivers/block/null_blk/zoned.c | 6 +-
drivers/block/ps3disk.c | 4 +
drivers/block/rnbd/rnbd-proto.h | 15 +-
drivers/block/rnull/rnull.rs | 3 +-
drivers/block/ublk_drv.c | 385 +++++----
drivers/block/virtio_blk.c | 24 +-
drivers/block/zloop.c | 160 +++-
drivers/md/bcache/alloc.c | 25 +-
drivers/md/bcache/bcache.h | 6 +-
drivers/md/bcache/bset.h | 8 +-
drivers/md/bcache/btree.c | 53 +-
drivers/md/bcache/journal.c | 93 +--
drivers/md/bcache/journal.h | 13 -
drivers/md/bcache/super.c | 33 +-
drivers/md/bcache/sysfs.c | 15 -
drivers/md/bcache/writeback.c | 5 +-
drivers/md/dm-zone.c | 63 +-
drivers/md/dm.h | 3 +-
drivers/md/md-linear.c | 2 +
drivers/md/md-llbitmap.c | 2 +-
drivers/md/md.c | 259 ++++--
drivers/md/md.h | 10 +-
drivers/md/raid0.c | 20 +-
drivers/md/raid1.c | 1 +
drivers/md/raid10.c | 1 +
drivers/md/raid5-cache.c | 2 +-
drivers/md/raid5.c | 7 +-
drivers/nvme/host/apple.c | 1 +
drivers/nvme/host/core.c | 15 +-
drivers/nvme/host/fabrics.h | 6 +
drivers/nvme/host/fc.c | 1 +
drivers/nvme/host/multipath.c | 4 +-
drivers/nvme/host/nvme.h | 9 +-
drivers/nvme/host/pci.c | 118 ++-
drivers/nvme/host/rdma.c | 1 +
drivers/nvme/host/tcp.c | 1 +
drivers/nvme/host/zns.c | 10 +-
drivers/nvme/target/loop.c | 1 +
drivers/s390/block/dasd.c | 64 +-
drivers/s390/block/dasd_devmap.c | 3 +-
drivers/s390/block/dasd_eckd.c | 8 +
drivers/s390/block/dasd_genhd.c | 80 +-
drivers/scsi/sd.h | 2 +-
drivers/scsi/sd_zbc.c | 20 +-
fs/btrfs/zoned.c | 11 +-
fs/xfs/libxfs/xfs_zones.c | 1 +
fs/xfs/xfs_zone_alloc.c | 2 +-
include/linux/backing-dev-defs.h | 4 +-
include/linux/bio-integrity.h | 7 +-
include/linux/bio.h | 2 +
include/linux/blk-integrity.h | 19 +-
include/linux/blk-mq-dma.h | 28 +-
include/linux/blk-mq.h | 30 +-
include/linux/blk_types.h | 14 +-
include/linux/blkdev.h | 62 +-
include/linux/blktrace_api.h | 3 +-
include/linux/device-mapper.h | 10 +-
include/linux/kfifo.h | 34 +-
include/linux/sbitmap.h | 6 +-
include/uapi/linux/blktrace_api.h | 55 +-
include/uapi/linux/blkzoned.h | 46 +-
include/uapi/linux/fs.h | 3 +-
include/uapi/linux/raid/md_p.h | 3 +-
kernel/trace/blktrace.c | 533 ++++++++++---
lib/kfifo.c | 8 +-
rust/kernel/block/mq.rs | 5 +-
rust/kernel/block/mq/operations.rs | 4 +-
rust/kernel/block/mq/request.rs | 8 +-
tools/testing/selftests/ublk/kublk.c | 70 +-
tools/testing/selftests/ublk/kublk.h | 9 +-
108 files changed, 3019 insertions(+), 1556 deletions(-)
--
Jens Axboe
next reply other threads:[~2025-12-01 16:12 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-12-01 16:12 Jens Axboe [this message]
2025-12-04 4:00 ` [GIT PULL] Block updates for 6.19-rc1 pr-tracker-bot
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=e62f9ce3-00ae-4453-8047-1f938a5d51a3@kernel.dk \
--to=axboe@kernel.dk \
--cc=linux-block@vger.kernel.org \
--cc=torvalds@linux-foundation.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).