Hi Linus, Set of fixes for block that should go into the 6.15 kernel release. This pull request contains: - MD pull via Yu - fix raid10 missing discard IO accounting (Yu Kuai) - fix bitmap stats for bitmap file (Zheng Qixing) - fix oops while reading all member disks failed during check/repair (Meir Elisha) - NVMe pull via Christoph - fix scan failure for non-ANA multipath controllers (Hannes Reinecke) - fix multipath sysfs links creation for some cases (Hannes Reinecke) - PCIe endpoint fixes (Damien Le Moal) - use NULL instead of 0 in the auth code (Damien Le Moal) - Various ublk fixes - Slew of selftest additions - Improvements and fixes for IO cancelation - Tweak to Kconfig verbiage - Fix for page dirtying for blk integrity mapped pages - loop buffered IO fix - loop uevent fixe - loop request priority inheritance fix - Various little fixes Please pull! The following changes since commit 3b607b75a345b1d808031bf1bb1038e4dac8d521: null_blk: Use strscpy() instead of strscpy_pad() in null_add_dev() (2025-04-11 07:10:46 -0600) are available in the Git repository at: git://git.kernel.dk/linux.git tags/block-6.15-20250417 for you to fetch changes up to 81dd1feb19c7a812e51fa6e2f988f4def5e6ae39: Merge tag 'nvme-6.15-2025-04-17' of git://git.infradead.org/nvme into block-6.15 (2025-04-17 06:18:49 -0600) ---------------------------------------------------------------- block-6.15-20250417 ---------------------------------------------------------------- Bird, Tim (1): block: add SPDX header line to blk-throttle.h Caleb Sander Mateos (1): ublk: don't suggest CONFIG_BLK_DEV_UBLK=Y Christoph Hellwig (1): loop: stop using vfs_iter_{read,write} for buffered I/O Damien Le Moal (4): nvmet: auth: use NULL to clear a pointer in nvmet_auth_sq_free() nvmet: pci-epf: always fully initialize completion entries nvmet: pci-epf: clear CC and CSTS when disabling the controller nvmet: pci-epf: cleanup link state management Hannes Reinecke (2): nvme: fixup scan failure for non-ANA multipath controllers nvme-multipath: sysfs links may not be created for devices Jens Axboe (2): Merge tag 'md-6.15-20250416' of https://git.kernel.org/pub/scm/linux/kernel/git/mdraid/linux into block-6.15 Merge tag 'nvme-6.15-2025-04-17' of git://git.infradead.org/nvme into block-6.15 Martin K. Petersen (1): block: integrity: Do not call set_page_dirty_lock() Meir Elisha (1): md/raid1: Add check for missing source disk in process_checks() Ming Lei (18): selftests: ublk: fix ublk_find_tgt() selftests: ublk: add io_uring uapi header selftests: ublk: cleanup backfile automatically selftests: ublk: make sure _add_ublk_dev can return in sub-shell selftests: ublk: run stress tests in parallel selftests: ublk: add two stress tests for zero copy feature selftests: ublk: setup ring with IORING_SETUP_SINGLE_ISSUER/IORING_SETUP_DEFER_TASKRUN selftests: ublk: set queue pthread's cpu affinity selftests: ublk: increase max nr_queues and queue depth selftests: ublk: support target specific command line selftests: ublk: support user recovery selftests: ublk: add test_stress_05.sh selftests: ublk: move creating UBLK_TMP into _prep_test() ublk: add ublk_force_abort_dev() ublk: rely on ->canceling for dealing with ublk_nosrv_dev_should_queue_io ublk: move device reset into ublk_ch_release() ublk: remove __ublk_quiesce_dev() ublk: simplify aborting ublk request Thomas Weißschuh (2): loop: properly send KOBJ_CHANGED uevent for disk device loop: LOOP_SET_FD: send uevents for partitions Uday Shankar (3): ublk: properly serialize all FETCH_REQs ublk: improve detection and handling of ublk server exit selftests: ublk: add generic_06 for covering fault inject Yu Kuai (1): md/raid10: fix missing discard IO accounting Yunlong Xing (1): loop: aio inherit the ioprio of original request Zheng Qixing (2): md/md-bitmap: fix stats collection for external bitmaps block: fix resource leak in blk_register_queue() error path block/bio-integrity.c | 17 +- block/blk-sysfs.c | 2 + block/blk-throttle.h | 1 + drivers/block/Kconfig | 6 - drivers/block/loop.c | 121 +----- drivers/block/ublk_drv.c | 532 ++++++++++++------------ drivers/md/md-bitmap.c | 5 +- drivers/md/raid1.c | 26 +- drivers/md/raid10.c | 1 + drivers/nvme/host/core.c | 2 +- drivers/nvme/host/multipath.c | 14 +- drivers/nvme/target/auth.c | 2 +- drivers/nvme/target/pci-epf.c | 88 ++-- tools/testing/selftests/ublk/Makefile | 9 +- tools/testing/selftests/ublk/fault_inject.c | 98 +++++ tools/testing/selftests/ublk/kublk.c | 343 +++++++++++++-- tools/testing/selftests/ublk/kublk.h | 47 ++- tools/testing/selftests/ublk/stripe.c | 28 +- tools/testing/selftests/ublk/test_common.sh | 142 ++++++- tools/testing/selftests/ublk/test_generic_04.sh | 40 ++ tools/testing/selftests/ublk/test_generic_05.sh | 44 ++ tools/testing/selftests/ublk/test_generic_06.sh | 41 ++ tools/testing/selftests/ublk/test_loop_01.sh | 8 +- tools/testing/selftests/ublk/test_loop_02.sh | 8 +- tools/testing/selftests/ublk/test_loop_03.sh | 8 +- tools/testing/selftests/ublk/test_loop_04.sh | 9 +- tools/testing/selftests/ublk/test_loop_05.sh | 8 +- tools/testing/selftests/ublk/test_stress_01.sh | 45 +- tools/testing/selftests/ublk/test_stress_02.sh | 45 +- tools/testing/selftests/ublk/test_stress_03.sh | 38 ++ tools/testing/selftests/ublk/test_stress_04.sh | 37 ++ tools/testing/selftests/ublk/test_stress_05.sh | 64 +++ tools/testing/selftests/ublk/test_stripe_01.sh | 12 +- tools/testing/selftests/ublk/test_stripe_02.sh | 13 +- tools/testing/selftests/ublk/test_stripe_03.sh | 12 +- tools/testing/selftests/ublk/test_stripe_04.sh | 13 +- 36 files changed, 1325 insertions(+), 604 deletions(-) create mode 100644 tools/testing/selftests/ublk/fault_inject.c create mode 100755 tools/testing/selftests/ublk/test_generic_04.sh create mode 100755 tools/testing/selftests/ublk/test_generic_05.sh create mode 100755 tools/testing/selftests/ublk/test_generic_06.sh create mode 100755 tools/testing/selftests/ublk/test_stress_03.sh create mode 100755 tools/testing/selftests/ublk/test_stress_04.sh create mode 100755 tools/testing/selftests/ublk/test_stress_05.sh -- Jens Axboe