Hi Linus, Set of fixes and updates for block that should go into the 6.16-rc1 kernel release. This pull request contains: - NVMe pull request via Christoph - TCP error handling fix (Shin'ichiro Kawasaki) - TCP I/O stall handling fixes (Hannes Reinecke) - fix command limits status code (Keith Busch) - support vectored buffers also for passthrough (Pavel Begunkov) - spelling fixes (Yi Zhang) - MD pull request via Yu - fix REQ_RAHEAD and REQ_NOWAIT IO err handling for raid1/10 - fix max_write_behind setting for dm-raid - some minor cleanups - Integrity data direction fix and cleanup - bcache NULL pointer fix - Fix for loop missing write start/end handling - Decouple hardware queues and IO threads in ublk - Slew of ublk selftests additions and updates Please pull! The following changes since commit 914873bc7df913db988284876c16257e6ab772c6: Merge tag 'x86-build-2025-05-25' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip (2025-05-26 21:41:14 -0700) are available in the Git repository at: git://git.kernel.dk/linux.git tags/block-6.16-20250606 for you to fetch changes up to 6f65947a1e684db28b9407ea51927ed5157caf41: Merge tag 'nvme-6.16-2025-06-05' of git://git.infradead.org/nvme into block-6.16 (2025-06-05 07:40:38 -0600) ---------------------------------------------------------------- block-6.16-20250606 ---------------------------------------------------------------- Caleb Sander Mateos (2): block: drop direction param from bio_integrity_copy_user() block: flip iter directions in blk_rq_integrity_map_user() Hannes Reinecke (2): nvme-tcp: sanitize request list handling nvme-tcp: fix I/O stalls on congested sockets Jens Axboe (2): Merge tag 'md-6.16-20250530' of https://git.kernel.org/pub/scm/linux/kernel/git/mdraid/linux into block-6.16 Merge tag 'nvme-6.16-2025-06-05' of git://git.infradead.org/nvme into block-6.16 Keith Busch (1): nvme: fix command limits status code Linggang Zeng (1): bcache: fix NULL pointer in cache_set_flush() Ming Lei (2): loop: add file_start_write() and file_end_write() selftests: ublk: cover PER_IO_DAEMON in more stress tests Mingzhe Zou (1): bcache: reserve more RESERVE_BTREE buckets to prevent allocator hang Pavel Begunkov (2): nvme: fix implicit bool to flags conversion nvme: enable vectored registered bufs for passthrough cmds Robert Pang (1): bcache: remove unused constants Shin'ichiro Kawasaki (1): nvme-tcp: remove tag set when second admin queue config fails Uday Shankar (10): ublk: have a per-io daemon instead of a per-queue daemon selftests: ublk: kublk: plumb q_id in io_uring user_data selftests: ublk: kublk: tie sqe allocation to io instead of queue selftests: ublk: kublk: lift queue initialization out of thread selftests: ublk: kublk: move per-thread data out of ublk_queue selftests: ublk: kublk: decouple ublk_queues from ublk server threads selftests: ublk: add functional test for per io daemons selftests: ublk: add stress test for per io daemons Documentation: ublk: document UBLK_F_PER_IO_DAEMON selftests: ublk: kublk: improve behavior on init failure Yi Zhang (1): nvme: spelling fixes Yu Kuai (5): md/raid1,raid10: don't handle IO error for REQ_RAHEAD and REQ_NOWAIT md/md-bitmap: fix dm-raid max_write_behind setting md/dm-raid: remove max_write_behind setting limit md/md-bitmap: cleanup bitmap_ops->startwrite() md/md-bitmap: remove parameter slot from bitmap_create() Documentation/block/ublk.rst | 35 +- block/bio-integrity.c | 17 +- block/blk-integrity.c | 7 +- drivers/block/loop.c | 8 +- drivers/block/ublk_drv.c | 111 +++--- drivers/md/bcache/btree.c | 2 - drivers/md/bcache/super.c | 55 ++- drivers/md/dm-raid.c | 6 +- drivers/md/md-bitmap.c | 35 +- drivers/md/md-bitmap.h | 17 +- drivers/md/md.c | 14 +- drivers/md/raid1-10.c | 10 + drivers/md/raid1.c | 19 +- drivers/md/raid10.c | 11 +- drivers/nvme/common/auth.c | 6 +- drivers/nvme/host/Kconfig | 2 +- drivers/nvme/host/constants.c | 2 +- drivers/nvme/host/core.c | 3 +- drivers/nvme/host/fabrics.c | 2 +- drivers/nvme/host/fabrics.h | 6 +- drivers/nvme/host/fc.c | 4 +- drivers/nvme/host/ioctl.c | 18 +- drivers/nvme/host/multipath.c | 2 +- drivers/nvme/host/nvme.h | 2 +- drivers/nvme/host/pci.c | 4 +- drivers/nvme/host/pr.c | 2 - drivers/nvme/host/rdma.c | 4 +- drivers/nvme/host/tcp.c | 24 +- drivers/nvme/target/admin-cmd.c | 2 +- drivers/nvme/target/core.c | 11 +- drivers/nvme/target/fc.c | 2 +- drivers/nvme/target/io-cmd-bdev.c | 11 +- drivers/nvme/target/passthru.c | 2 +- include/linux/nvme.h | 2 +- include/uapi/linux/ublk_cmd.h | 9 + tools/testing/selftests/ublk/Makefile | 1 + tools/testing/selftests/ublk/fault_inject.c | 4 +- tools/testing/selftests/ublk/file_backed.c | 20 +- tools/testing/selftests/ublk/kublk.c | 374 ++++++++++++++------- tools/testing/selftests/ublk/kublk.h | 73 ++-- tools/testing/selftests/ublk/null.c | 22 +- tools/testing/selftests/ublk/stripe.c | 17 +- tools/testing/selftests/ublk/test_common.sh | 5 + tools/testing/selftests/ublk/test_generic_12.sh | 55 +++ tools/testing/selftests/ublk/test_stress_03.sh | 8 + tools/testing/selftests/ublk/test_stress_04.sh | 7 + tools/testing/selftests/ublk/test_stress_05.sh | 7 + .../selftests/ublk/trace/count_ios_per_tid.bt | 11 + 48 files changed, 693 insertions(+), 378 deletions(-) create mode 100755 tools/testing/selftests/ublk/test_generic_12.sh create mode 100644 tools/testing/selftests/ublk/trace/count_ios_per_tid.bt -- Jens Axboe