Linux block layer
 help / color / mirror / Atom feed
* [GIT PULL] Block updates for 7.4-rc
@ 2026-10-21 14:43 Jens Axboe
  2026-10-21 15:10 ` Jens Axboe
  2026-10-25  0:20 ` pr-tracker-bot
  0 siblings, 2 replies; 5+ messages in thread
From: Jens Axboe @ 2026-10-21 14:43 UTC (permalink / raw)
  To: Linus Torvalds; +Cc: linux-block@vger.kernel.org

Hi Linus,

Here are the block updates and fixes queued up for the 7.4 merge
window. This pull request contains:

- NVMe updates via Keith:
  - Apple M4 (t8132) ANS2 NVMe support
  - nvme-multipath sysfs attributes for path_state, iopolicies, and
    fail_on_ctrl_loss, plus path state evaluation fixes
  - nvme-tcp parallelized I/O queue allocation and startup, and using
    the caller's network namespace
  - nvmet passthru UAF fix and rework, PR preempt use-after-free fixes,
    auth hardening, and traffic based keep alive support
  - DH-HMAC-CHAP secret attributes readable by root only
  - Various other fixes and cleanups

- swim driver overhaul and fixes, plus floppy fixes, via a pull from
  Denis

- Block device buffered and direct I/O rework from Tal: use
  iomap_dirty_folio, take i_rwsem for the write fallback and splice
  read, honor IOCB_NOWAIT in the buffered read path, and reject atomic
  write fallback to buffered I/O

- Large zone revalidation rework: serialize revalidation, handle
  capacity changes by dropping and retrying zone write plugs, propagate
  read-only and offline conditions, and treat offline and read-only
  zones as dead

- ublk robustness work around canceled FETCH rounds and going live over
  canceled io commands, dropping the default I/O scheduler, and a batch
  of selftest additions

- blk-iocost flush cost support and zone append accounting

- rust block fixes for Send/Sync bounds on GenDisk and TagSet, and
  import style cleanups

- Atomic write fixes capping size by the PI buffer constraints and
  failing short atomic pins

- Skip the redundant flush for O_DSYNC direct writes, and only use
  REQ_FUA when the device supports it

- Store GPT attributes as a raw value

- Remove support for swapping loop fds

- Various other fixes and cleanups all over

Please pull!


The following changes since commit df2908090cda368b01ff43709f51890076c56157:

  Linux 7.3-rc2 (2026-09-06 15:07:20 -0700)

are available in the Git repository at:

  https://git.kernel.org/pub/scm/linux/kernel/git/axboe/linux.git tags/for-7.4/block-20261021

for you to fetch changes up to 40d070cbb1906896d6fd65c39722d2411830ed9f:

  block: restore the iterator when rejecting a misaligned bio (2026-10-20 11:11:45 -0600)

----------------------------------------------------------------
for-7.4/block-20261021

----------------------------------------------------------------
Alvin Sun (4):
      rust: block: mq: use vertical import style
      rust: block: mq: remove redundant imports and format
      rust: block: rnull: use vertical import style
      rust: block: gen_disk: set fops.owner from driver module pointer

Andrea Parri (1):
      nvmet: zns: don't leak stale memory in zone management receive

Andreas Hindborg (3):
      rust: block: fix `Send` bound for `GenDisk`
      rust: block: require `Sync` for `Operations::QueueData`
      rust: block: implement `Send` and `Sync` for `TagSet`

Andrew Morton (1):
      block: restore the iterator when rejecting a misaligned bio

Cen Zhang (1):
      floppy: annotate data-races around command_status and floppy_work_fn

Christian Brauner (1):
      loop: remove support for swapping loop fds

Christoph Hellwig (5):
      block: avoid integer overflows in max_integrity_io_size
      block: cap atomic write size by PI buffer size constraints
      block: improve aligning down bios in bio_iov_iter_bounce_write
      zloop: explicitly mention zone condition when a write fails to it
      Revert "nvme-pci: clamp max_hw_sectors based on DMA optimized limitation"

Daejun Park (2):
      nvmet: fix use-after-free of the old registrant in nvmet_pr_preempt()
      nvmet: fix preempt of another registrant by the reservation holder

Damien Le Moal (16):
      block: remove disk_free_zone_resources()
      block: improve capacity handling during zone revalidation
      block: refactor disk_revalidate_zone_resources()
      block: refactor disk_update_zone_resources()
      block: remember a zone type regardless of its condition
      block: refactor bdev_zone_is_seq()
      block: improve blkdev_get_zone_info()
      block: introduce disk_for_all_zone_wplugs()
      block: serialize zone revalidation
      block: drop all zone write plugs on capacity changes
      block: retry zone revalidation on capacity change
      block: propagate readonly and offline conditions to zone write plugs
      block: always treat offline and read-only zones as dead
      block: fail zone management operations to read-only and offline zones
      block: allow read-only and offline conventional zones
      block: simplify disk_zone_set_cond()

Denis Efremov (Oracle) (2):
      floppy: don't store a stack buffer in timeout_message
      floppy: return the drive state flags from the 32-bit FDGETDRVSTAT

Finn Thain (36):
      swim: Assert strobe with stable outputs
      swim: Select appropriate drive once only
      swim: Enable the drive when probing
      swim: Don't disable drive after every sector
      swim: Perform ISM/IWM mode switching according to specs
      swim: Configure parameter memory
      swim: Refactor SWIM setup
      swim: Enable clock divider only where appropriate
      swim: Don't start motor until medium is present
      swim: Recalibrate when drive is probed
      swim: Add track zero recalibration delay
      swim: Handle FIFO timeout error
      swim: Simplify return value initialization
      swim: Check for CRC errors
      swim: Check error register during sector read
      swim: Don't use the mark register to read data
      swim: Fix buffer overflow
      swim: Convert to blocking queue
      swim: Remove redundant RELAX actions
      swim: Deduplicate polling loops
      swim: Check drive ready bit
      swim: Revisit delays
      swim: Remove pointless mode0 register write
      swim: Don't needlessly re-read sectors
      swim: Don't search beyond the first data mark
      swim: Remove pointless specifiers
      swim: Move swd initialization
      swim: Add some helpful references
      swim: Remove unused macro definitions
      swim: Clean up whitespace
      swim: Define macros for constants
      swim: Define symbols for constants
      swim: Unexport global symbols
      swim: Return -EROFS when opened with BLK_OPEN_WRITE flag
      swim: Fix FDEJECT ioctl for exclusive open
      swim3: Fix FDEJECT ioctl for exclusive open

Guangshuo Li (1):
      floppy: unregister platform device on add_disk failure

Guixin Liu (1):
      nvme-multipath: expose path_state via sysfs

Jens Axboe (2):
      Merge tag 'floppy-for-7.4' of https://github.com/evdenis/linux-floppy into for-7.4/block
      Merge tag 'nvme-7.4-2026-10-15' of git://git.infradead.org/nvme into for-7.4/block

Jesse Taube (1):
      nvmet: Add traffic based keep alive support to configfs

Johannes Thumshirn (1):
      zloop: print device that had errors

John Garry (1):
      block: cap atomic write size by PI buffer size constraints

Josef Bacik (2):
      aoe: pull in the headers each received packet type reads
      ublk: refuse to go live after an io command was canceled

Julian Sun (2):
      block: reject NOWAIT buffered write fallback
      block: take the inode lock for buffered write fallback

Jérémy Jean (2):
      nvmet-auth: serialize access to DH-HMAC-CHAP state to fix UAF
      nvmet: free the bvec on file namespace range errors

Karl Mehltretter (2):
      block: Fix the thaw_bdev reference in bdev_freeze() kernel-doc
      floppy: flush pending work before releasing resources on init failure

Krishna Iyer (2):
      nvme-multipath: fix path state evaluation for failfast and ANA
      nvme-multipath: add fail_on_ctrl_loss sysfs attribute

Laurence Oberman (1):
      nvme-multipath: add iopolicies sysfs attribute

Li RongQing (2):
      ublk: use global index for reported zones
      block, bfq: initialize active lists for all actuators

Malte Wechter (1):
      rnull: configfs: add power to configfs features

Martin Belanger (1):
      nvme: make the DH-HMAC-CHAP secret attributes readable by root only

Martin George (1):
      nvme-multipath: report "none" iopolicy for discovery subsystems

Ming Lei (10):
      ublk: keep a canceled FETCH round canceling until the server is gone
      ublk: mark the io command cancelable before publishing it
      ublk: mark the batch fetch command cancelable before linking it
      ublk: reset the FETCH round in release also without a disk
      ublk: reset the FETCH round under ub->mutex
      ublk: allow a NULL io->cmd in the cancel callback
      ublk: let STOP_DEV cancel the server's commands before its release
      selftests: ublk: move the control command helpers into ctrl.c
      selftests: ublk: stop a batch thread when PREP_IO_CMDS fails
      selftests: ublk: add test for going live over canceled io commands

Nilay Shroff (2):
      nvmet: introduce struct nvmet_passthru
      nvmet: fix use-after-free in passthru I/O hotpath

Nirmoy Das (1):
      blk-mq: clear stale inactive flag on hctx reuse

Palla Raghunath (1):
      nvmet-fc: don't drop the last assoc reference in nvmet_fc_delete_ctrl()

Paolo Bertinetti (1):
      ublk: hold RCU read lock in ublk_try_buf_match()

Peng Fan (1):
      nvme: use assign_bit() where applicable

Qiliang Yuan (6):
      ublk: don't use an I/O scheduler by default
      ublk: drop the device reference outside ublk_ctl_mutex in DEL_DEV
      selftests: ublk: don't keep the fault_inject timespec on the stack
      selftests: ublk: make the fault_inject delay a pure timeout
      blk-mq: share one tags_srcu instance across all tag sets
      blk-mq: drop the tag_set argument from blk_mq_free_rq_map/tags

Qingxiao Xu (1):
      rnull: fix geometry store check-then-act across lock scopes

Runyu Xiao (1):
      block: amiflop: synchronize flush timer before track flush

Sophon Z (1):
      rust: block: Fix GenDiskBuilder block size documentation

Sung Byeongchan (2):
      nvmet: require authentication before property set
      nvmet-auth: reject undersized AUTH_SEND payloads

Surabhi Gogte (3):
      nvme-tcp: store and use the caller's network namespace
      nvme-tcp: refactor I/O queue setup path
      nvme-tcp: parallelize I/O queue allocation and startup

Tal Zussman (9):
      block: use iomap_dirty_folio for block devices
      block: take i_rwsem for the direct I/O write fallback
      block: take i_rwsem for the splice read path
      block: honor IOCB_NOWAIT in the block device buffered read path
      block: fail a short atomic pin in bio_iov_iter_get_pages()
      block: don't fall back to buffered I/O for atomic writes
      iomap: reject atomic writes in iomap_file_buffered_write()
      block: unpin all pages of a bvec in bio_iov_iter_align_down()
      block: remove dead metadata handling from the async direct I/O path

Tao Cui (4):
      blk-iocost: add flush cost support with the flushiops model parameter
      blk-iocost: charge zone appends as writes
      blk-iocost: account zone append completions in latency stats
      blk-iocost: fix stale comment in ioc_rqos_throttle()

Vasileios Almpanis (1):
      block: drop the cached plug time when blk_add_rq_to_plug() flushes

Vincent Mailhol (1):
      block: store GPT attributes as a raw value

Yang Xiuwei (1):
      floppy: avoid NULL deref in reset_interrupt when cont is cleared

Yao Sang (1):
      nvme: pass partition flags to passthrough checks

Yehyeong Lee (3):
      nvme-rdma: don't complete a request after a bogus remote invalidation
      nvme-auth: fail when the controller does not authenticate itself
      nvme: bound FDP config log reads to the received buffer

Yureka Lilian (2):
      dt-bindings: nvme: Add apple,t8132-nvme-ans2 compatible
      nvme: apple: add t8132 (M4) ANS2 NVMe support

Zhenxian Ma (2):
      block: skip redundant flush for O_DSYNC direct writes
      block: only use REQ_FUA for direct writes if the device supports it

sonotri (1):
      ublk: pin module while release work is pending

 Documentation/ABI/stable/sysfs-nvme                |  52 ++
 Documentation/admin-guide/cgroup-v2.rst            |   7 +
 Documentation/block/ublk.rst                       |  17 +-
 .../devicetree/bindings/nvme/apple,nvme-ans.yaml   |   1 +
 arch/m68k/mac/config.c                             |  31 +-
 block/bdev.c                                       |   2 +-
 block/bfq-iosched.c                                |   4 +-
 block/bio.c                                        |  99 ++-
 block/blk-core.c                                   |   7 +-
 block/blk-iocost.c                                 |  39 +-
 block/blk-mq-tag.c                                 |  19 +-
 block/blk-mq.c                                     |  27 +-
 block/blk-mq.h                                     |   6 +-
 block/blk-settings.c                               |  12 +-
 block/blk-zoned.c                                  | 856 +++++++++++-------
 block/blk.h                                        |   6 +
 block/fops.c                                       | 141 ++-
 block/partitions/efi.h                             |   8 +-
 drivers/block/amiflop.c                            |  71 +-
 drivers/block/aoe/aoenet.c                         |  14 +-
 drivers/block/floppy.c                             |  56 +-
 drivers/block/loop.c                               | 112 +--
 drivers/block/rnull/configfs.rs                    |  44 +-
 drivers/block/rnull/rnull.rs                       |  15 +-
 drivers/block/swim.c                               | 457 +++++-----
 drivers/block/swim3.c                              |   8 +-
 drivers/block/swim_asm.S                           | 340 ++++----
 drivers/block/ublk_drv.c                           | 261 ++++--
 drivers/block/zloop.c                              |  38 +-
 drivers/nvme/host/apple.c                          |  39 +-
 drivers/nvme/host/auth.c                           |  15 +-
 drivers/nvme/host/core.c                           |  15 +-
 drivers/nvme/host/ioctl.c                          |   2 +-
 drivers/nvme/host/multipath.c                      | 155 +++-
 drivers/nvme/host/nvme.h                           |   4 +
 drivers/nvme/host/pci.c                            |   2 +-
 drivers/nvme/host/rdma.c                           |   1 +
 drivers/nvme/host/sysfs.c                          |  23 +-
 drivers/nvme/host/tcp.c                            | 139 ++-
 drivers/nvme/target/admin-cmd.c                    |   4 +-
 drivers/nvme/target/auth.c                         |   1 +
 drivers/nvme/target/configfs.c                     | 119 ++-
 drivers/nvme/target/core.c                         |  19 +-
 drivers/nvme/target/fabrics-cmd-auth.c             |  38 +-
 drivers/nvme/target/fabrics-cmd.c                  |   4 +
 drivers/nvme/target/fc.c                           |  15 +-
 drivers/nvme/target/io-cmd-file.c                  |   4 +-
 drivers/nvme/target/nvmet.h                        |  70 +-
 drivers/nvme/target/passthru.c                     | 103 ++-
 drivers/nvme/target/pr.c                           |   4 +-
 drivers/nvme/target/zns.c                          |  10 +
 fs/iomap/buffered-io.c                             |   4 +
 include/linux/blk-mq.h                             |   3 -
 include/linux/blkdev.h                             |  19 +-
 rust/kernel/block/mq/gen_disk.rs                   |  72 +-
 rust/kernel/block/mq/operations.rs                 |  16 +-
 rust/kernel/block/mq/request.rs                    |  16 +-
 rust/kernel/block/mq/tag_set.rs                    |  35 +-
 tools/testing/selftests/ublk/.gitignore            |   1 +
 tools/testing/selftests/ublk/Makefile              |   6 +-
 tools/testing/selftests/ublk/batch.c               |  13 +-
 tools/testing/selftests/ublk/ctrl.c                | 268 ++++++
 tools/testing/selftests/ublk/fault_inject.c        |  14 +-
 tools/testing/selftests/ublk/kublk.c               | 271 ------
 tools/testing/selftests/ublk/kublk.h               |  32 +
 tools/testing/selftests/ublk/test_generic_18.sh    |  69 ++
 tools/testing/selftests/ublk/ublk_cancel_ready.c   | 957 +++++++++++++++++++++
 67 files changed, 3789 insertions(+), 1543 deletions(-)
 create mode 100644 tools/testing/selftests/ublk/ctrl.c
 create mode 100755 tools/testing/selftests/ublk/test_generic_18.sh
 create mode 100644 tools/testing/selftests/ublk/ublk_cancel_ready.c

-- 
Jens Axboe


^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2026-10-25  3:09 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-10-21 14:43 [GIT PULL] Block updates for 7.4-rc Jens Axboe
2026-10-21 15:10 ` Jens Axboe
2026-10-25  0:18   ` Linus Torvalds
2026-10-25  3:09     ` Jens Axboe
2026-10-25  0:20 ` pr-tracker-bot

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox