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 changes for the 7.1 merge window
Date: Sat, 11 Apr 2026 17:40:24 -0600 [thread overview]
Message-ID: <d59c7b0e-1cc8-43ae-89aa-ca37e08387f9@kernel.dk> (raw)
Hi Linus,
Same as the io_uring one, coming a bit early due to already stated
reasons. These are the changes queued up for the 7.1 merge window in the
block subsystem:
- Add shared memory zero-copy I/O support for ublk, bypassing per-I/O
copies between kernel and userspace by matching registered buffer
PFNs at I/O time. Includes selftests.
- Refactor bio integrity to support filesystem initiated integrity
operations and arbitrary buffer alignment.
- Clean up bio allocation, splitting bio_alloc_bioset() into clear
fast and slow paths. Add bio_await() and bio_submit_or_kill()
helpers, unify synchronous bi_end_io callbacks.
- Fix zone write plug refcount handling and plug removal races. Add
support for serializing zone writes at QD=1 for rotational zoned
devices, yielding significant throughput improvements.
- Add SED-OPAL ioctls for Single User Mode management and a
STACK_RESET command.
- Add io_uring passthrough (uring_cmd) support to the BSG layer.
- Replace pp_buf in partition scanning with struct seq_buf.
- zloop improvements and cleanups.
- drbd genl cleanup, switching to pre_doit/post_doit.
- NVMe pull request via Keith:
- Fabrics authentication updates
- Enhanced block queue limits support
- Workqueue usage updates
- A new write zeroes device quirk
- Tagset cleanup fix for loop device
- MD pull requests via Yu Kuai:
- Fix raid5 soft lockup in retry_aligned_read()
- Fix raid10 deadlock with check operation and nowait requests
- Fix raid1 overlapping writes on writemostly disks
- Fix sysfs deadlock on array_state=clear
- Proactive RAID-5 parity building with llbitmap, with
write_zeroes_unmap optimization for initial sync
- Fix llbitmap barrier ordering, rdev skipping, and bitmap_ops
version mismatch fallback
- Fix bcache use-after-free and uninitialized closure
- Validate raid5 journal metadata payload size
- Various cleanups
- Various other fixes, improvements, and cleanups
The following changes since commit 1f318b96cc84d7c2ab792fcc0bfd42a7ca890681:
Linux 7.0-rc3 (2026-03-08 16:56:54 -0700)
are available in the Git repository at:
https://git.kernel.org/pub/scm/linux/kernel/git/axboe/linux.git tags/for-7.1/block-20260411
for you to fetch changes up to 36446de0c30c62b9d89502fd36c4904996d86ecd:
ublk: fix tautological comparison warning in ublk_ctrl_reg_buf (2026-04-10 07:02:37 -0600)
----------------------------------------------------------------
for-7.1/block-20260411
----------------------------------------------------------------
Abd-Alrhman Masalkhi (1):
md: remove unused static md_wq workqueue
Alistair Francis (6):
nvmet-tcp: Don't error if TLS is enabed on a reset
nvmet-tcp: Don't free SQ on authentication success
nvme: Expose the tls_configured sysfs for secure concat connections
nvme: Allow reauth from sysfs
nvme: Add the DHCHAP maximum HD IDs
nvme-auth: Don't propose NVME_AUTH_DHGROUP_NULL with SC_C
Bart Van Assche (1):
drbd: Balance RCU calls in drbd_adm_dump_devices()
Bill Wendling (1):
block: annotate struct request_queue with __counted_by_ptr
Caleb Sander Mateos (10):
ublk: report BLK_SPLIT_INTERVAL_CAPABLE
nvme: add preferred I/O size fields to struct nvme_id_ns_nvm
nvme: fold nvme_config_discard() into nvme_update_disk_info()
nvme: update nvme_id_ns OPTPERF constants
nvme: always issue I/O Command Set specific Identify Namespace
nvme: add from0based() helper
nvme: set discard_granularity from NPDG/NPDA
nvmet: use NVME_NS_FEAT_OPTPERF_SHIFT
nvmet: report NPDGL and NPDAL
block: remove unused BVEC_ITER_ALL_INIT
Chaitanya Kulkarni (2):
block: move bio queue-transition flag fixups into blk_steal_bios()
block: clear BIO_QOS flags in blk_steal_bios()
Chen Cheng (4):
md: suppress spurious superblock update error message for dm-raid
md/raid5: remove stale md_raid5_kick_device() declaration
md/raid5: move handle_stripe() comment to correct location
md: remove unused mddev argument from export_rdev
Chia-Ming Chang (1):
md/raid5: fix soft lockup in retry_aligned_read()
Christoph Böhmwalder (2):
drbd: use genl pre_doit/post_doit
drbd: remove DRBD_GENLA_F_MANDATORY flag handling
Christoph Hellwig (19):
block: factor out a bio_integrity_action helper
block: factor out a bio_integrity_setup_default helper
block: add a bdev_has_integrity_csum helper
block: prepare generation / verification helpers for fs usage
block: make max_integrity_io_size public
block: add fs_bio_integrity helpers
block: pass a maxlen argument to bio_iov_iter_bounce
block: mark bvec_{alloc,free} static
block: split bio_alloc_bioset more clearly into a fast and slowpath
block: remove bvec_free
zloop: refactor zloop_rw
zloop: forget write cache on force removal
blk-crypto: fix name of the bio completion callback
xfs: fix number of GC bvecs
block: unify the synchronous bi_end_io callbacks
block: factor out a bio_await helper
block: add a bio_submit_or_kill helper
xfs: use bio_await in xfs_zone_gc_reset_sync
block: refactor blkdev_zone_mgmt_ioctl
Daan De Meyer (1):
loop: fix partition scan race between udev and loop_reread_partitions()
Damien Le Moal (10):
block: fix zone write plug removal
block: fix zone write plugs refcount handling in disk_zone_wplug_schedule_bio_work()
block: rename and simplify disk_get_and_lock_zone_wplug()
block: remove disk_zone_is_full()
block: rename struct gendisk zone_wplugs_lock field
block: allow submitting all zone writes from a single context
block: default to QD=1 writes for blk-mq rotational zoned devices
Documentation: ABI: stable: document the zoned_qd1_writes attribute
block: remove bdev_nonrot()
zloop: add max_open_zones option
Dan Carpenter (1):
scsi: bsg: fix buffer overflow in scsi_bsg_uring_cmd()
David Carlier (1):
drbd: use get_random_u64() where appropriate
Eric Biggers (21):
nvme-auth: add NVME_AUTH_MAX_DIGEST_SIZE constant
nvme-auth: common: constify static data
nvme-auth: use proper argument types
nvme-auth: common: add KUnit tests for TLS key derivation
nvme-auth: rename nvme_auth_generate_key() to nvme_auth_parse_key()
nvme-auth: common: explicitly verify psk_len == hash_len
nvme-auth: common: add HMAC helper functions
nvme-auth: common: use crypto library in nvme_auth_transform_key()
nvme-auth: common: use crypto library in nvme_auth_augmented_challenge()
nvme-auth: common: use crypto library in nvme_auth_generate_psk()
nvme-auth: common: use crypto library in nvme_auth_generate_digest()
nvme-auth: common: use crypto library in nvme_auth_derive_tls_psk()
nvme-auth: host: use crypto library in nvme_auth_dhchap_setup_host_response()
nvme-auth: host: use crypto library in nvme_auth_dhchap_setup_ctrl_response()
nvme-auth: host: remove allocation of crypto_shash
nvme-auth: target: remove obsolete crypto_has_shash() checks
nvme-auth: target: use crypto library in nvmet_auth_host_hash()
nvme-auth: target: use crypto library in nvmet_auth_ctrl_hash()
nvme-auth: common: remove nvme_auth_digest_name()
nvme-auth: common: remove selections of no-longer used crypto modules
crypto: remove HKDF library
FengWei Shih (1):
md/raid5: skip 2-failure compute when other disk is R5_LOCKED
Gregory Price (1):
md/raid0: use kvzalloc/kvfree for strip_zone and devlist allocations
Jackie Liu (2):
block: fix zones_cond memory leak on zone revalidation error paths
blk-cgroup: fix disk reference leak in blkcg_maybe_throttle_current()
Jens Axboe (4):
Merge branch 'for-7.1/block-integrity' into for-7.1/block
Merge tag 'md-7.1-20260323' of git://git.kernel.org/pub/scm/linux/kernel/git/mdraid/linux into for-7.1/block
Merge tag 'nvme-7.1-2026-03-27' of git://git.infradead.org/nvme into for-7.1/block
Merge tag 'md-7.1-20260407' of git://git.kernel.org/pub/scm/linux/kernel/git/mdraid/linux into for-7.1/block
Jialin Wang (1):
blk-iocost: fix busy_level reset when no IOs complete
John Garry (1):
block: Correct comments on bio_alloc_clone() and bio_init_clone()
Josh Hunt (1):
md/raid10: fix deadlock with check operation and nowait requests
Junrui Luo (1):
md/raid5: validate payload size before accessing journal metadata
Kees Cook (1):
block: partitions: Replace pp_buf with struct seq_buf
Keith Busch (1):
blk-integrity: support arbitrary buffer alignment
Marco Crivellari (3):
nvmet: replace use of system_wq with system_percpu_wq
nvmet-fc: add WQ_PERCPU to alloc_workqueue users
nvme: add WQ_PERCPU to alloc_workqueue users
Milan Broz (1):
sed-opal: Add STACK_RESET command
Ming Lei (21):
blk-cgroup: wait for blkcg cleanup before initializing new disk
ublk: move cold paths out of __ublk_batch_dispatch() for icache efficiency
bio: fix kmemleak false positives from percpu bio alloc cache
ublk: add UBLK_U_CMD_REG_BUF/UNREG_BUF control commands
ublk: add PFN-based buffer matching in I/O path
ublk: enable UBLK_F_SHMEM_ZC feature flag
ublk: eliminate permanent pages[] array from struct ublk_buf
selftests/ublk: add shared memory zero-copy support in kublk
selftests/ublk: add UBLK_F_SHMEM_ZC support for loop target
selftests/ublk: add shared memory zero-copy test
selftests/ublk: add hugetlbfs shmem_zc test for loop target
selftests/ublk: add filesystem fio verify test for shmem_zc
selftests/ublk: add read-only buffer registration test
ublk: widen ublk_shmem_buf_reg.len to __u64 for 4GB buffer support
ublk: verify all pages in multi-page bvec fall within registered range
ublk: simplify PFN range loop in __ublk_ctrl_reg_buf
ublk: replace xarray with IDA for shmem buffer index allocation
ublk: allow buffer registration before device is started
Documentation: ublk: address review comments for SHMEM_ZC docs
MAINTAINERS: update ublk driver maintainer email
ublk: fix tautological comparison warning in ublk_ctrl_reg_buf
Mingzhe Zou (2):
bcache: fix cached_dev.sb_bio use-after-free and crash
bcache: fix uninitialized closure object
Nilay Shroff (1):
nvme-loop: do not cancel I/O and admin tagset during ctrl reset/shutdown
Ondrej Kozina (9):
sed-opal: add UID of Locking Table.
sed-opal: add RangeStartRangeLengthPolicy parameter.
sed-opal: add Admin1PIN parameter.
sed-opal: add IOC_OPAL_REACTIVATE_LSP.
sed-opal: refactor (split) IOC_OPAL_LR_SETUP internals.
sed-opal: add IOC_OPAL_LR_SET_START_LEN ioctl.
sed-opal: add IOC_OPAL_ENABLE_DISABLE_LR.
sed-opal: increase column attribute type size to 64 bits.
sed-opal: add IOC_OPAL_GET_SUM_STATUS ioctl.
Qu Wenruo (1):
block: reject zero length in bio_add_page()
Robert Beckett (2):
nvme: respect NVME_QUIRK_DISABLE_WRITE_ZEROES when wzsl is set
nvme-pci: add NVME_QUIRK_DISABLE_WRITE_ZEROES for Kingston OM3SGP4
Thomas Weißschuh (4):
block: make queue_sysfs_entry instances const
block: ia-ranges: make blk_ia_range_sysfs_entry instances const
blk-crypto: make blk_crypto_attr instances const
blk-mq: make blk_mq_hw_ctx_sysfs_entry instances const
Thorsten Blum (1):
block: use sysfs_emit in sysfs show functions
Uday Shankar (2):
ublk: reset per-IO canceled flag on each fetch
selftests: ublk: test that teardown after incomplete recovery completes
Vasily Gorbik (1):
block: fix bio_alloc_bioset slowpath GFP handling
Xiao Ni (2):
md/raid1: fix the comparing region of interval tree
md/raid1: serialize overlap io for writemostly disk
Yang Xiuwei (3):
bsg: add bsg_uring_cmd uapi structure
bsg: add io_uring command support to generic layer
scsi: bsg: add io_uring passthrough handler
Yu Kuai (8):
md/raid5: set chunk_sectors to enable full stripe I/O splitting
md/md-llbitmap: skip reading rdevs that are not in_sync
md/md-llbitmap: raise barrier before state machine transition
md: fix array_state=clear sysfs deadlock
md: add fallback to correct bitmap_ops on version mismatch
md/md-llbitmap: add CleanUnwritten state for RAID-5 proactive parity building
md/md-llbitmap: optimize initial sync with write_zeroes_unmap support
md: wake raid456 reshape waiters before suspend
Yuto Ohnuki (1):
blk-wbt: remove WARN_ON_ONCE from wbt_init_enable_default()
Documentation/ABI/stable/sysfs-block | 15 +
Documentation/ABI/testing/sysfs-nvme | 13 +
Documentation/admin-guide/blockdev/zoned_loop.rst | 10 +-
Documentation/block/inline-encryption.rst | 2 +-
Documentation/block/ublk.rst | 119 ++++
MAINTAINERS | 2 +-
block/Makefile | 2 +-
block/bio-integrity-auto.c | 80 +--
block/bio-integrity-fs.c | 81 +++
block/bio-integrity.c | 64 ++
block/bio.c | 326 ++++-----
block/blk-cgroup.c | 16 +
block/blk-crypto-sysfs.c | 40 +-
block/blk-ia-ranges.c | 6 +-
block/blk-iocost.c | 23 +-
block/blk-lib.c | 16 +-
block/blk-mq-debugfs.c | 1 +
block/blk-mq-sysfs.c | 10 +-
block/blk-mq.c | 25 +-
block/blk-settings.c | 25 +-
block/blk-sysfs.c | 89 ++-
block/blk-wbt.c | 5 +-
block/blk-zoned.c | 469 ++++++++-----
block/blk.h | 13 +-
block/bsg-lib.c | 2 +-
block/bsg.c | 33 +-
block/disk-events.c | 3 +-
block/ioctl.c | 11 +-
block/opal_proto.h | 24 +
block/partitions/acorn.c | 32 +-
block/partitions/aix.c | 21 +-
block/partitions/amiga.c | 35 +-
block/partitions/atari.c | 12 +-
block/partitions/check.h | 8 +-
block/partitions/cmdline.c | 6 +-
block/partitions/core.c | 31 +-
block/partitions/efi.c | 2 +-
block/partitions/ibm.c | 27 +-
block/partitions/karma.c | 2 +-
block/partitions/ldm.c | 4 +-
block/partitions/mac.c | 4 +-
block/partitions/msdos.c | 67 +-
block/partitions/of.c | 6 +-
block/partitions/osf.c | 2 +-
block/partitions/sgi.c | 2 +-
block/partitions/sun.c | 2 +-
block/partitions/sysv68.c | 9 +-
block/partitions/ultrix.c | 2 +-
block/sed-opal.c | 434 +++++++++++-
block/t10-pi.c | 818 ++++++++++++----------
crypto/Kconfig | 6 -
crypto/Makefile | 1 -
crypto/hkdf.c | 573 ---------------
drivers/block/drbd/Makefile | 1 -
drivers/block/drbd/drbd_main.c | 4 +-
drivers/block/drbd/drbd_nl.c | 602 +++++++++-------
drivers/block/drbd/drbd_nla.c | 56 --
drivers/block/drbd/drbd_nla.h | 9 -
drivers/block/ublk_drv.c | 477 +++++++++++--
drivers/block/zloop.c | 511 ++++++++++----
drivers/md/bcache/super.c | 8 +
drivers/md/md-llbitmap.c | 213 +++++-
drivers/md/md.c | 171 ++++-
drivers/md/md.h | 5 +-
drivers/md/raid0.c | 18 +-
drivers/md/raid1.c | 53 +-
drivers/md/raid10.c | 6 +-
drivers/md/raid5-cache.c | 48 +-
drivers/md/raid5.c | 39 +-
drivers/md/raid5.h | 1 -
drivers/nvdimm/btt.c | 6 +-
drivers/nvme/common/.kunitconfig | 6 +
drivers/nvme/common/Kconfig | 14 +-
drivers/nvme/common/Makefile | 2 +
drivers/nvme/common/auth.c | 587 +++++++---------
drivers/nvme/common/tests/auth_kunit.c | 175 +++++
drivers/nvme/host/auth.c | 187 ++---
drivers/nvme/host/core.c | 89 ++-
drivers/nvme/host/multipath.c | 15 +-
drivers/nvme/host/nvme.h | 6 +
drivers/nvme/host/pci.c | 2 +
drivers/nvme/host/sysfs.c | 50 +-
drivers/nvme/target/admin-cmd.c | 4 +-
drivers/nvme/target/auth.c | 202 ++----
drivers/nvme/target/configfs.c | 3 -
drivers/nvme/target/core.c | 7 +-
drivers/nvme/target/fabrics-cmd-auth.c | 18 +-
drivers/nvme/target/fc.c | 6 +-
drivers/nvme/target/io-cmd-bdev.c | 19 +-
drivers/nvme/target/loop.c | 2 -
drivers/nvme/target/nvmet.h | 8 +-
drivers/nvme/target/tcp.c | 2 +-
drivers/scsi/scsi_bsg.c | 176 ++++-
drivers/target/target_core_file.c | 2 +-
drivers/target/target_core_iblock.c | 2 +-
fs/btrfs/volumes.c | 4 +-
fs/ext4/mballoc-test.c | 2 +-
fs/ext4/mballoc.c | 2 +-
fs/iomap/direct-io.c | 2 +-
fs/xfs/xfs_zone_gc.c | 38 +-
include/crypto/hkdf.h | 20 -
include/linux/bio-integrity.h | 12 +-
include/linux/bio.h | 7 +-
include/linux/blk-integrity.h | 29 +-
include/linux/blkdev.h | 49 +-
include/linux/bsg.h | 6 +-
include/linux/bvec.h | 9 -
include/linux/drbd_genl.h | 208 +++---
include/linux/genl_magic_func.h | 7 +-
include/linux/genl_magic_struct.h | 15 +-
include/linux/nvme-auth.h | 41 +-
include/linux/nvme.h | 24 +-
include/linux/sed-opal.h | 5 +
include/uapi/linux/bsg.h | 75 ++
include/uapi/linux/sed-opal.h | 30 +
include/uapi/linux/ublk_cmd.h | 80 +++
mm/swapfile.c | 2 +-
tools/testing/selftests/ublk/Makefile | 6 +
tools/testing/selftests/ublk/fault_inject.c | 52 +-
tools/testing/selftests/ublk/file_backed.c | 38 +
tools/testing/selftests/ublk/kublk.c | 354 +++++++++-
tools/testing/selftests/ublk/kublk.h | 18 +
tools/testing/selftests/ublk/test_common.sh | 15 +-
tools/testing/selftests/ublk/test_generic_17.sh | 35 +
tools/testing/selftests/ublk/test_shmemzc_01.sh | 72 ++
tools/testing/selftests/ublk/test_shmemzc_02.sh | 68 ++
tools/testing/selftests/ublk/test_shmemzc_03.sh | 69 ++
tools/testing/selftests/ublk/test_shmemzc_04.sh | 72 ++
128 files changed, 5709 insertions(+), 3200 deletions(-)
create mode 100644 Documentation/ABI/testing/sysfs-nvme
create mode 100644 block/bio-integrity-fs.c
delete mode 100644 crypto/hkdf.c
delete mode 100644 drivers/block/drbd/drbd_nla.c
delete mode 100644 drivers/block/drbd/drbd_nla.h
create mode 100644 drivers/nvme/common/.kunitconfig
create mode 100644 drivers/nvme/common/tests/auth_kunit.c
delete mode 100644 include/crypto/hkdf.h
create mode 100755 tools/testing/selftests/ublk/test_generic_17.sh
create mode 100755 tools/testing/selftests/ublk/test_shmemzc_01.sh
create mode 100755 tools/testing/selftests/ublk/test_shmemzc_02.sh
create mode 100755 tools/testing/selftests/ublk/test_shmemzc_03.sh
create mode 100755 tools/testing/selftests/ublk/test_shmemzc_04.sh
--
Jens Axboe
reply other threads:[~2026-04-11 23:40 UTC|newest]
Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
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=d59c7b0e-1cc8-43ae-89aa-ca37e08387f9@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