Hi Linus, Changes for this merge window that weren't included in the initial pull. This pull request contains: - NVMe pull request via Keith - Use correct srcu list traversal (Breno) - Scatter-gather support for metadata (Keith) - Fabrics shutdown race condition fix (Nilay) - Persistent reservations updates (Guixin) - Add the required bits for MD atomic write support for raid0/1/10. - Correct return value for unknown opcode in ublk. - Fix deadlock with zone revalidation. - Fix for the io priority request vs bio cleanups. - Use the correct unsigned int type for various limit helpers. - Fix for a race in loop. - Cleanup blk_rq_prep_clone() to prevent uninit-value warning and make it easier for actual humans to read. - Fix potential UAF when iterating tags. - A few fixes for bfq-iosched UAF issues. - Fix for brd discard not decrementing the allocated page count. - Various little fixes and cleanups. Please pull! The following changes since commit 88d47f629313730f26a3b00224d1e1a5e3b7bb79: Merge tag 'md-6.13-20241115' of https://git.kernel.org/pub/scm/linux/kernel/git/mdraid/linux into for-6.13/block (2024-11-15 12:37:33 -0700) are available in the Git repository at: git://git.kernel.dk/linux.git tags/block-6.13-20242901 for you to fetch changes up to 82734209bedd65a8b508844bab652b464379bfdd: brd: decrease the number of allocated pages which discarded (2024-11-29 08:43:52 -0700) ---------------------------------------------------------------- block-6.13-20242901 ---------------------------------------------------------------- Breno Leitao (1): nvme/multipath: Fix RCU list traversal to use SRCU primitive Christoph Hellwig (10): block: return unsigned int from bdev_io_min block: don't bother checking the data direction for merges block: req->bio is always set in the merge code block: return unsigned int from bdev_io_opt block: return unsigned int from queue_dma_alignment block: return unsigned int from blk_lim_dma_alignment_and_pad block: return bool from blk_rq_aligned block: remove a duplicate definition for bdev_read_only block: return bool from get_disk_ro and bdev_read_only mq-deadline: don't call req_get_ioprio from the I/O completion handler Damien Le Moal (1): block: Prevent potential deadlock in blk_revalidate_disk_zones() Guixin Liu (2): nvme: introduce change ptpl and iekey definition nvme: tuning pr code by using defined structs and macros Jens Axboe (1): Merge tag 'nvme-6.13-2024-11-21' of git://git.infradead.org/nvme into for-6.13/block John Garry (8): block: Drop granularity check in queue_limit_discard_alignment() block: Add extra checks in blk_validate_atomic_write_limits() block: Support atomic writes limits for stacked devices md/raid0: Atomic write support md/raid1: Atomic write support md/raid10: Atomic write support block: Remove extra part pointer NULLify in blk_rq_init() block: Don't allow an atomic write be truncated in blkdev_write_iter() Keith Busch (3): nvme-pci: add support for sgl metadata nvme: define the remaining used sgls constants nvme-pci: use sgls for all user requests if possible Manas (1): rust: block: simplify Result<()> in validate_block_size return Mikulas Patocka (1): blk-settings: round down io_opt to physical_block_size Ming Lei (1): ublk: fix error code for unsupported command Nilay Shroff (2): Revert "nvme: make keep-alive synchronous operation" nvme-fabrics: fix kernel crash while shutting down controller OGAWA Hirofumi (1): loop: Fix ABBA locking race Suraj Sonawane (1): block: blk-mq: fix uninit-value in blk_rq_prep_clone and refactor Yu Kuai (2): block: fix uaf for flush rq while iterating tags block, bfq: fix bfqq uaf in bfq_limit_depth() Zach Wade (1): Revert "block, bfq: merge bfq_release_process_ref() into bfq_put_cooperator()" Zhang Xianwei (1): brd: decrease the number of allocated pages which discarded block/bfq-cgroup.c | 1 + block/bfq-iosched.c | 43 ++++++++---- block/blk-merge.c | 35 ++-------- block/blk-mq.c | 14 ++-- block/blk-settings.c | 141 ++++++++++++++++++++++++++++++++++++- block/blk-sysfs.c | 6 +- block/blk-zoned.c | 14 ++-- block/fops.c | 5 +- block/genhd.c | 9 +-- block/mq-deadline.c | 13 ++-- drivers/block/brd.c | 4 +- drivers/block/loop.c | 30 ++++---- drivers/block/ublk_drv.c | 2 +- drivers/md/raid0.c | 1 + drivers/md/raid1.c | 20 +++++- drivers/md/raid10.c | 20 +++++- drivers/nvme/host/core.c | 22 ++++-- drivers/nvme/host/ioctl.c | 12 +++- drivers/nvme/host/multipath.c | 21 ++++-- drivers/nvme/host/nvme.h | 10 ++- drivers/nvme/host/pci.c | 147 ++++++++++++++++++++++++++++++++++----- drivers/nvme/host/pr.c | 122 +++++++++++++++++++------------- drivers/nvme/host/rdma.c | 4 +- drivers/nvme/target/admin-cmd.c | 7 +- include/linux/blkdev.h | 20 +++--- include/linux/nvme.h | 14 ++++ rust/kernel/block/mq/gen_disk.rs | 2 +- 27 files changed, 547 insertions(+), 192 deletions(-) -- Jens Axboe