Linux block layer
 help / color / mirror / Atom feed
* [GIT PULL] Block changes for 6.18-rc1
@ 2025-09-30  1:46 Jens Axboe
  2025-09-30  1:50 ` Caleb Sander Mateos
  2025-10-02 17:49 ` pr-tracker-bot
  0 siblings, 2 replies; 4+ messages in thread
From: Jens Axboe @ 2025-09-30  1:46 UTC (permalink / raw)
  To: Linus Torvalds; +Cc: linux-block@vger.kernel.org

Hi Linus,

Here are the block changes scheduled for the 6.18 merge window. This
pull request contains:

- NVMe pull request via Keith:
	- FC target fixes (Daniel)
	- Authentication fixes and updates (Martin, Chris)
	- Admin controller handling (Kamaljit)
	- Target lockdep assertions (Max)
	- Keep-alive updates for discovery (Alastair)
	- Suspend quirk (Georg)

- MD pull request via Yu:
	- Add support for a lockless bitmap. Key features for the new
	  bitmap are that the IO fastpath is lockless. If user issues
	  lots of write IO to the same bitmap bit in a short time, only
	  the first write has additional overhead to update bitmap bit,
	  no additional overhead for the following writes. By supporting
	  only resync or recover written data, means in the case
	  creating new array or replacing with a new disk, there is no
	  need to do a full disk resync/recovery.

- Switch ->getgeo() and ->bios_param() to using struct gendisk rather
  than struct block_device.

- Rust block changes via Andreas. This series adds configuration via
  configfs and remote completion to the rnull driver. The series also
  includes a set of changes to the rust block device driver API: a few
  cleanup patches, and a few features supporting the rnull changes.

  The series removes the raw buffer formatting logic from
  `kernel::block` and improves the logic available in `kernel::string`
  to support the same use as the removed logic.

- floppy arch cleanups

- Add support for UBLK_F_BATCH_IO, improving the user <-> kernel
  communication
	- Per-queue vs Per-I/O: Commands operate on queues rather than
	  individual I/Os
	- Batch processing: Multiple I/Os are handled in single
	  operation
	- Multishot commands: Use io_uring multishot for reducing
	  submission overhead
	- Flexible task assignment: Any task can handle any I/O
	  (no per-I/O daemons)
	- Better load balancing: Tasks can adjust their workload
	  dynamically
	- help for following future optimizations:
		- blk-mq batch tags allocation/free,
  		- easier to support io-poll
		- per-task batch for avoiding per-io lock

- Series reducing the number of dereferencing needed for ublk commands

- Restrict supported sockets for nbd. Mostly done to eliminate a class
  of issues perpetually reported by syzbot, by using nonsensical socket
  setups.

- A few s390 dasd block fixes

- Series fixing a few issues around atomic writes

- Series improving DMA interation for integrity requests

- Series improving how iovecs are treated with regards to O_DIRECT
  aligment restraints. Currently the kernel requires each segment to
  adhere to the constraints, after the series only the request as a
  whole needs to.

- Series cleaning up and improving p2p support, enabling use of p2p for
  metadata payloads.

- Improve locking of request lookup, using SRCU where appropriate.

- Use page references properly for brd, avoiding very long RCU sections.

- Fix ordering of recursively submitted IOs.

- Series cleaning up and improving updating nr_requests for a live
  device.

- Various fixes and cleanups.

Note that this will throw a conflict with rust changes from the tip tree
(see below links), and obviously the bcachefs changes can just be
dropped on the floor at this point.

[1] https://lore.kernel.org/all/aMligBYh0Z4V5Biv@sirena.org.uk/
[2] https://lore.kernel.org/all/aMlkUu2MzRYxh96v@sirena.org.uk/
[3] https://lore.kernel.org/all/aMiScHEWoOABPgt9@sirena.org.uk/

Please pull!


The following changes since commit 1b237f190eb3d36f52dffe07a40b5eb210280e00:

  Linux 6.17-rc3 (2025-08-24 12:04:12 -0400)

are available in the Git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/axboe/linux.git tags/for-6.18/block-20250929

for you to fetch changes up to 130e6de62107116eba124647116276266be0f84c:

  s390/dasd: enforce dma_alignment to ensure proper buffer validation (2025-09-25 10:34:30 -0600)

----------------------------------------------------------------
for-6.18/block-20250929

----------------------------------------------------------------
Al Viro (3):
      scsi: switch scsi_bios_ptable() and scsi_partsize() to gendisk
      scsi: switch ->bios_param() to passing gendisk
      block: switch ->getgeo() to struct gendisk

Alistair Francis (1):
      nvme: Use non zero KATO for persistent discovery connections

Andreas Hindborg (17):
      rust: str: normalize imports in `str.rs`
      rust: str: allow `str::Formatter` to format into `&mut [u8]`.
      rust: str: expose `str::{Formatter, RawFormatter}` publicly.
      rust: str: introduce `NullTerminatedFormatter`
      rust: str: introduce `kstrtobool` function
      rust: configfs: re-export `configfs_attrs` from `configfs` module
      rust: block: normalize imports for `gen_disk.rs`
      rust: block: use `NullTerminatedFormatter`
      rust: block: remove `RawWriter`
      rust: block: remove trait bound from `mq::Request` definition
      rust: block: add block related constants
      rnull: move driver to separate directory
      rnull: enable configuration via `configfs`
      rust: block: add `GenDisk` private data support
      rust: block: mq: fix spelling in a safety comment
      rust: block: add remote completion to `Request`
      rnull: add soft-irq completion support

Andy Shevchenko (3):
      floppy: Remove unused CROSS_64KB() macro from arch/ code
      floppy: Replace custom SZ_64K constant
      floppy: Sort headers alphabetically

Bart Van Assche (3):
      block: Move a misplaced comment in queue_wb_lat_store()
      blk-mq: Fix the blk_mq_tagset_busy_iter() documentation
      blk-mq: Fix more tag iteration function documentation

Caleb Sander Mateos (20):
      ublk: inline __ublk_ch_uring_cmd()
      ublk: consolidate nr_io_ready and nr_queues_ready
      ublk: remove ubq check in ublk_check_and_get_req()
      ublk: don't pass q_id to ublk_queue_cmd_buf_size()
      ublk: don't pass ublk_queue to __ublk_fail_req()
      ublk: add helpers to check ublk_device flags
      ublk: don't dereference ublk_queue in ublk_ch_uring_cmd_local()
      ublk: don't dereference ublk_queue in ublk_check_and_get_req()
      ublk: pass ublk_device to ublk_register_io_buf()
      ublk: don't access ublk_queue in ublk_register_io_buf()
      ublk: don't access ublk_queue in ublk_daemon_register_io_buf()
      ublk: pass q_id and tag to __ublk_check_and_get_req()
      ublk: don't access ublk_queue in ublk_check_fetch_buf()
      ublk: don't access ublk_queue in ublk_config_io_buf()
      ublk: don't pass ublk_queue to ublk_fetch()
      ublk: don't access ublk_queue in ublk_check_commit_and_fetch()
      ublk: don't access ublk_queue in ublk_need_complete_req()
      ublk: pass ublk_io to __ublk_complete_rq()
      ublk: don't access ublk_queue in ublk_unmap_io()
      ublk: remove redundant zone op check in ublk_setup_iod()

Chris Leech (2):
      nvme-auth: add hkdf_expand_label()
      nvme-auth: use hkdf_expand_label()

Christoph Hellwig (2):
      block: add a bio_init_inline helper
      block: remove the bi_inline_vecs variable sized array from struct bio

Daniel Wagner (4):
      nvmet-fc: move lsop put work to nvmet_fc_ls_req_op
      nvmet-fc: avoid scheduling association deletion twice
      nvmet-fcloop: call done callback even when remote port is gone
      nvme-fc: use lock accessing port_state and rport state

Eric Dumazet (1):
      nbd: restrict sockets to TCP and UDP

Genjian Zhang (1):
      null_blk: Fix the description of the cache_size module argument

Georg Gottleuber (1):
      nvme-pci: Add TUXEDO IBS Gen8 to Samsung sleep quirk

Han Guangjiang (1):
      blk-throttle: fix access race during throttle policy activation

Jaehoon Kim (2):
      s390/dasd: Return BLK_STS_INVAL for EINVAL from do_dasd_request
      s390/dasd: enforce dma_alignment to ensure proper buffer validation

Jens Axboe (3):
      Merge tag 'pull-getgeo' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs into for-6.18/block
      Merge tag 'md-6.18-20250909' of gitolite.kernel.org:pub/scm/linux/kernel/git/mdraid/linux into for-6.18/block
      Merge tag 'nvme-6.18-2025-09-23' of git://git.infradead.org/nvme into for-6.18/block

John Garry (3):
      block: update validation of atomic writes boundary for stacked devices
      block: fix stacking of atomic writes when atomics are not supported
      block: relax atomic write boundary vs chunk size check

Kamaljit Singh (2):
      nvme-core: add method to check for an I/O controller
      nvme-core: do ioccsz/iorcsz validation only for I/O controllers

Keith Busch (20):
      blk-mq-dma: create blk_map_iter type
      blk-mq-dma: provide the bio_vec array being iterated
      blk-mq-dma: require unmap caller provide p2p map type
      blk-mq: remove REQ_P2PDMA flag
      blk-mq-dma: move common dma start code to a helper
      blk-mq-dma: add scatter-less integrity data DMA mapping
      blk-integrity: use iterator for mapping sg
      nvme-pci: create common sgl unmapping helper
      nvme-pci: convert metadata mapping to dma iter
      block: check for valid bio while splitting
      block: add size alignment to bio_iov_iter_get_pages
      block: align the bio after building it
      block: simplify direct io validity check
      iomap: simplify direct io validity check
      block: remove bdev_iter_is_aligned
      blk-integrity: use simpler alignment check
      iov_iter: remove iov_iter_is_aligned
      blk-integrity: enable p2p source and destination
      blk-mq-dma: bring back p2p request flags
      blk-map: provide the bdev to bio if one exists

Li Nan (1):
      blk-mq: check kobject state_in_sysfs before deleting in blk_mq_unregister_hctx

Marco Crivellari (3):
      drivers/block: replace use of system_wq with system_percpu_wq
      drivers/block: replace use of system_unbound_wq with system_dfl_wq
      drivers/block: WQ_PERCPU added to alloc_workqueue users

Martin George (3):
      nvme-auth: update bi_directional flag
      nvme-tcp: send only permitted commands for secure concat
      nvme-core: use nvme_is_io_ctrl() for I/O controller check

Max Gurtovoy (1):
      nvmet: add safety check for subsys lock

Ming Lei (6):
      blk-mq: Move flush queue allocation into blk_mq_init_hctx()
      blk-mq: Pass tag_set to blk_mq_free_rq_map/tags
      blk-mq: Defer freeing of tags page_list to SRCU callback
      blk-mq: Defer freeing flush queue to SRCU callback
      blk-mq: Replace tags->lock with SRCU for tag iterators
      blk-mq: Document tags_srcu member in blk_mq_tag_set structure

Nathan Chancellor (1):
      md/md-llbitmap: Use DIV_ROUND_UP_SECTOR_T

Qianfeng Rong (1):
      block: use int to store blk_stack_limits() return value

Thorsten Blum (1):
      block: floppy: Replace kmalloc() + copy_from_user() with memdup_user()

Uday Shankar (4):
      selftests: ublk: kublk: simplify feat_map definition
      selftests: ublk: kublk: add UBLK_F_BUF_REG_OFF_DAEMON to feat_map
      selftests: ublk: add test to verify that feat_map is complete
      selftests: ublk: fix behavior when fio is not installed

Yu Kuai (56):
      brd: use page reference to protect page lifetime
      blk-mq: fix elevator depth_updated method
      blk-mq: fix blk_mq_tags double free while nr_requests grown
      md/md-bitmap: remove the parameter 'init' for bitmap_ops->resize()
      md/md-bitmap: merge md_bitmap_group into bitmap_operations
      md/md-bitmap: add a new parameter 'flush' to bitmap_ops->enabled
      md/md-bitmap: add md_bitmap_registered/enabled() helper
      md/md-bitmap: handle the case bitmap is not enabled before start_sync()
      md/md-bitmap: handle the case bitmap is not enabled before end_sync()
      md/raid1: check bitmap before behind write
      md/raid1: check before referencing mddev->bitmap_ops
      md/raid10: check before referencing mddev->bitmap_ops
      md/raid5: check before referencing mddev->bitmap_ops
      md/dm-raid: check before referencing mddev->bitmap_ops
      md: check before referencing mddev->bitmap_ops
      md/md-bitmap: introduce CONFIG_MD_BITMAP
      md: add a new parameter 'offset' to md_super_write()
      md: factor out a helper raid_is_456()
      md/md-bitmap: support discard for bitmap ops
      md: add a new mddev field 'bitmap_id'
      md/md-bitmap: add a new sysfs api bitmap_type
      md/md-bitmap: delay registration of bitmap_ops until creating bitmap
      md/md-bitmap: add a new method skip_sync_blocks() in bitmap_operations
      md/md-bitmap: add a new method blocks_synced() in bitmap_operations
      md: add a new recovery_flag MD_RECOVERY_LAZY_RECOVER
      md/md-bitmap: make method bitmap_ops->daemon_work optional
      md/md-llbitmap: introduce new lockless bitmap
      block: cleanup bio_issue
      block: initialize bio issue time in blk_mq_submit_bio()
      blk-mq: add QUEUE_FLAG_BIO_ISSUE_TIME
      md: fix mssing blktrace bio split events
      blk-crypto: fix missing blktrace bio split events
      block: factor out a helper bio_submit_split_bioset()
      md/raid0: convert raid0_handle_discard() to use bio_submit_split_bioset()
      md/raid1: convert to use bio_submit_split_bioset()
      md/raid10: add a new r10bio flag R10BIO_Returned
      md/raid10: convert read/write to use bio_submit_split_bioset()
      md/raid5: convert to use bio_submit_split_bioset()
      md/md-linear: convert to use bio_submit_split_bioset()
      blk-crypto: convert to use bio_submit_split_bioset()
      block: skip unnecessary checks for split bio
      block: fix ordering of recursive split IO
      md/raid0: convert raid0_make_request() to use bio_submit_split_bioset()
      blk-mq: remove useless checking in queue_requests_store()
      blk-mq: remove useless checkings in blk_mq_update_nr_requests()
      blk-mq: check invalid nr_requests in queue_requests_store()
      blk-mq: convert to serialize updating nr_requests with update_nr_hwq_lock
      blk-mq: cleanup shared tags case in blk_mq_update_nr_requests()
      blk-mq: split bitmap grow and resize case in blk_mq_update_nr_requests()
      blk-mq-sched: add new parameter nr_requests in blk_mq_alloc_sched_tags()
      blk-mq: fix potential deadlock while nr_requests grown
      blk-mq: remove blk_mq_tag_update_depth()
      blk-mq: fix stale nr_requests documentation
      blk-throttle: fix throtl_data leak during disk release
      blk-mq: fix null-ptr-deref in blk_mq_free_tags() from error path
      blk-cgroup: fix possible deadlock while configuring policy

chengkaitao (1):
      block/mq-deadline: Remove the redundant rb_entry_rq in the deadline_from_pos().

 Documentation/ABI/stable/sysfs-block            |   14 +-
 Documentation/admin-guide/md.rst                |   86 +-
 Documentation/filesystems/locking.rst           |    2 +-
 Documentation/scsi/scsi_mid_low_api.rst         |    8 +-
 MAINTAINERS                                     |    2 +-
 arch/alpha/include/asm/floppy.h                 |   19 -
 arch/arm/include/asm/floppy.h                   |    2 -
 arch/m68k/emu/nfblock.c                         |    4 +-
 arch/m68k/include/asm/floppy.h                  |    4 -
 arch/mips/include/asm/floppy.h                  |   15 -
 arch/parisc/include/asm/floppy.h                |   11 +-
 arch/powerpc/include/asm/floppy.h               |    5 -
 arch/sparc/include/asm/floppy_32.h              |    3 -
 arch/sparc/include/asm/floppy_64.h              |    3 -
 arch/um/drivers/ubd_kern.c                      |    6 +-
 arch/x86/include/asm/floppy.h                   |    8 +-
 block/bfq-iosched.c                             |   22 +-
 block/bio-integrity.c                           |   25 +-
 block/bio.c                                     |   78 +-
 block/blk-cgroup.c                              |   29 +-
 block/blk-cgroup.h                              |   12 +-
 block/blk-core.c                                |   19 +-
 block/blk-crypto-fallback.c                     |   19 +-
 block/blk-integrity.c                           |   58 -
 block/blk-iolatency.c                           |   19 +-
 block/blk-map.c                                 |   13 +-
 block/blk-merge.c                               |   85 +-
 block/blk-mq-debugfs.c                          |    1 +
 block/blk-mq-dma.c                              |  282 +++-
 block/blk-mq-sched.c                            |   14 +-
 block/blk-mq-sched.h                            |   13 +-
 block/blk-mq-sysfs.c                            |    7 +-
 block/blk-mq-tag.c                              |  128 +-
 block/blk-mq.c                                  |  175 +--
 block/blk-mq.h                                  |   22 +-
 block/blk-settings.c                            |   84 +-
 block/blk-sysfs.c                               |   70 +-
 block/blk-throttle.c                            |   15 +-
 block/blk-throttle.h                            |   18 +-
 block/blk.h                                     |   46 +-
 block/elevator.c                                |    3 +-
 block/elevator.h                                |    2 +-
 block/fops.c                                    |   10 +-
 block/ioctl.c                                   |    4 +-
 block/kyber-iosched.c                           |   19 +-
 block/mq-deadline.c                             |   20 +-
 block/partitions/ibm.c                          |    2 +-
 drivers/ata/libata-scsi.c                       |    4 +-
 drivers/block/Kconfig                           |   10 +-
 drivers/block/Makefile                          |    4 +-
 drivers/block/amiflop.c                         |   10 +-
 drivers/block/aoe/aoeblk.c                      |    4 +-
 drivers/block/aoe/aoemain.c                     |    2 +-
 drivers/block/brd.c                             |   75 +-
 drivers/block/floppy.c                          |   59 +-
 drivers/block/mtip32xx/mtip32xx.c               |    6 +-
 drivers/block/nbd.c                             |   10 +-
 drivers/block/null_blk/main.c                   |    2 +-
 drivers/block/rbd.c                             |    2 +-
 drivers/block/rnbd/rnbd-clt.c                   |    6 +-
 drivers/block/rnull.rs                          |   80 --
 drivers/block/rnull/Kconfig                     |   13 +
 drivers/block/rnull/Makefile                    |    3 +
 drivers/block/rnull/configfs.rs                 |  262 ++++
 drivers/block/rnull/rnull.rs                    |  104 ++
 drivers/block/sunvdc.c                          |    7 +-
 drivers/block/swim.c                            |    4 +-
 drivers/block/ublk_drv.c                        |  236 ++--
 drivers/block/virtio_blk.c                      |    8 +-
 drivers/block/xen-blkfront.c                    |    4 +-
 drivers/block/zram/zram_drv.c                   |    2 +-
 drivers/md/Kconfig                              |   29 +
 drivers/md/Makefile                             |    4 +-
 drivers/md/bcache/debug.c                       |    3 +-
 drivers/md/bcache/io.c                          |    3 +-
 drivers/md/bcache/journal.c                     |    2 +-
 drivers/md/bcache/movinggc.c                    |    8 +-
 drivers/md/bcache/super.c                       |    2 +-
 drivers/md/bcache/writeback.c                   |    8 +-
 drivers/md/dm-bufio.c                           |    2 +-
 drivers/md/dm-flakey.c                          |    2 +-
 drivers/md/dm-raid.c                            |   18 +-
 drivers/md/dm-vdo/vio.c                         |    2 +-
 drivers/md/dm.c                                 |    4 +-
 drivers/md/md-bitmap.c                          |   89 +-
 drivers/md/md-bitmap.h                          |  107 +-
 drivers/md/md-cluster.c                         |    2 +-
 drivers/md/md-linear.c                          |   14 +-
 drivers/md/md-llbitmap.c                        | 1626 +++++++++++++++++++++++
 drivers/md/md.c                                 |  382 +++++-
 drivers/md/md.h                                 |   24 +-
 drivers/md/raid0.c                              |   30 +-
 drivers/md/raid1-10.c                           |    2 +-
 drivers/md/raid1.c                              |  119 +-
 drivers/md/raid1.h                              |    4 +-
 drivers/md/raid10.c                             |  107 +-
 drivers/md/raid10.h                             |    2 +
 drivers/md/raid5.c                              |   74 +-
 drivers/memstick/core/ms_block.c                |    4 +-
 drivers/memstick/core/mspro_block.c             |    4 +-
 drivers/message/fusion/mptscsih.c               |    2 +-
 drivers/message/fusion/mptscsih.h               |    2 +-
 drivers/mmc/core/block.c                        |    4 +-
 drivers/mtd/mtd_blkdevs.c                       |    4 +-
 drivers/mtd/ubi/block.c                         |    4 +-
 drivers/nvdimm/btt.c                            |    4 +-
 drivers/nvme/common/auth.c                      |   86 +-
 drivers/nvme/host/auth.c                        |    5 +-
 drivers/nvme/host/core.c                        |   23 +-
 drivers/nvme/host/fc.c                          |   10 +-
 drivers/nvme/host/ioctl.c                       |    5 -
 drivers/nvme/host/nvme.h                        |    2 +-
 drivers/nvme/host/pci.c                         |  184 +--
 drivers/nvme/host/tcp.c                         |    3 +
 drivers/nvme/target/core.c                      |   15 +-
 drivers/nvme/target/fc.c                        |   35 +-
 drivers/nvme/target/fcloop.c                    |    8 +-
 drivers/s390/block/dasd.c                       |   24 +-
 drivers/scsi/3w-9xxx.c                          |    2 +-
 drivers/scsi/3w-sas.c                           |    2 +-
 drivers/scsi/3w-xxxx.c                          |    2 +-
 drivers/scsi/BusLogic.c                         |    4 +-
 drivers/scsi/BusLogic.h                         |    2 +-
 drivers/scsi/aacraid/linit.c                    |    6 +-
 drivers/scsi/advansys.c                         |    2 +-
 drivers/scsi/aha152x.c                          |    4 +-
 drivers/scsi/aha1542.c                          |    2 +-
 drivers/scsi/aha1740.c                          |    2 +-
 drivers/scsi/aic7xxx/aic79xx_osm.c              |    4 +-
 drivers/scsi/aic7xxx/aic7xxx_osm.c              |    4 +-
 drivers/scsi/arcmsr/arcmsr_hba.c                |    6 +-
 drivers/scsi/atp870u.c                          |    2 +-
 drivers/scsi/fdomain.c                          |    4 +-
 drivers/scsi/imm.c                              |    2 +-
 drivers/scsi/initio.c                           |    4 +-
 drivers/scsi/ipr.c                              |    8 +-
 drivers/scsi/ips.c                              |    2 +-
 drivers/scsi/ips.h                              |    2 +-
 drivers/scsi/libsas/sas_scsi_host.c             |    2 +-
 drivers/scsi/megaraid.c                         |    4 +-
 drivers/scsi/megaraid.h                         |    2 +-
 drivers/scsi/megaraid/megaraid_sas_base.c       |    4 +-
 drivers/scsi/mpi3mr/mpi3mr_os.c                 |    4 +-
 drivers/scsi/mpt3sas/mpt3sas_scsih.c            |    4 +-
 drivers/scsi/mvumi.c                            |    2 +-
 drivers/scsi/myrb.c                             |    2 +-
 drivers/scsi/pcmcia/sym53c500_cs.c              |    2 +-
 drivers/scsi/ppa.c                              |    2 +-
 drivers/scsi/qla1280.c                          |    2 +-
 drivers/scsi/qlogicfas408.c                     |    2 +-
 drivers/scsi/qlogicfas408.h                     |    2 +-
 drivers/scsi/scsicam.c                          |   16 +-
 drivers/scsi/sd.c                               |    8 +-
 drivers/scsi/stex.c                             |    2 +-
 drivers/scsi/storvsc_drv.c                      |    2 +-
 drivers/scsi/wd719x.c                           |    2 +-
 drivers/target/target_core_pscsi.c              |    2 +-
 fs/bcachefs/btree_io.c                          |    2 +-
 fs/bcachefs/data_update.h                       |    1 -
 fs/bcachefs/journal.c                           |    6 +-
 fs/bcachefs/journal_io.c                        |    2 +-
 fs/bcachefs/super-io.c                          |    2 +-
 fs/iomap/direct-io.c                            |    5 +-
 fs/squashfs/block.c                             |    2 +-
 include/linux/bio-integrity.h                   |    1 +
 include/linux/bio.h                             |   18 +-
 include/linux/blk-integrity.h                   |   32 +
 include/linux/blk-mq-dma.h                      |   25 +-
 include/linux/blk-mq.h                          |    4 +
 include/linux/blk_types.h                       |   19 +-
 include/linux/blkdev.h                          |   26 +-
 include/linux/libata.h                          |    2 +-
 include/linux/uio.h                             |    2 -
 include/scsi/libsas.h                           |    2 +-
 include/scsi/scsi_host.h                        |    2 +-
 include/scsi/scsicam.h                          |    7 +-
 lib/iov_iter.c                                  |   95 --
 rust/kernel/block.rs                            |   13 +
 rust/kernel/block/mq.rs                         |   14 +-
 rust/kernel/block/mq/gen_disk.rs                |   54 +-
 rust/kernel/block/mq/operations.rs              |   65 +-
 rust/kernel/block/mq/raw_writer.rs              |   55 -
 rust/kernel/block/mq/request.rs                 |   21 +-
 rust/kernel/configfs.rs                         |    2 +
 rust/kernel/str.rs                              |  162 ++-
 samples/rust/rust_configfs.rs                   |    2 +-
 tools/testing/selftests/ublk/Makefile           |    1 +
 tools/testing/selftests/ublk/kublk.c            |   32 +-
 tools/testing/selftests/ublk/test_generic_01.sh |    4 +
 tools/testing/selftests/ublk/test_generic_02.sh |    4 +
 tools/testing/selftests/ublk/test_generic_12.sh |    4 +
 tools/testing/selftests/ublk/test_generic_13.sh |   20 +
 tools/testing/selftests/ublk/test_null_01.sh    |    4 +
 tools/testing/selftests/ublk/test_null_02.sh    |    4 +
 tools/testing/selftests/ublk/test_stress_05.sh  |    4 +
 195 files changed, 4539 insertions(+), 1833 deletions(-)
 delete mode 100644 drivers/block/rnull.rs
 create mode 100644 drivers/block/rnull/Kconfig
 create mode 100644 drivers/block/rnull/Makefile
 create mode 100644 drivers/block/rnull/configfs.rs
 create mode 100644 drivers/block/rnull/rnull.rs
 create mode 100644 drivers/md/md-llbitmap.c
 delete mode 100644 rust/kernel/block/mq/raw_writer.rs
 create mode 100755 tools/testing/selftests/ublk/test_generic_13.sh

-- 
Jens Axboe


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

* Re: [GIT PULL] Block changes for 6.18-rc1
  2025-09-30  1:46 [GIT PULL] Block changes for 6.18-rc1 Jens Axboe
@ 2025-09-30  1:50 ` Caleb Sander Mateos
  2025-09-30  2:16   ` Jens Axboe
  2025-10-02 17:49 ` pr-tracker-bot
  1 sibling, 1 reply; 4+ messages in thread
From: Caleb Sander Mateos @ 2025-09-30  1:50 UTC (permalink / raw)
  To: Jens Axboe; +Cc: Linus Torvalds, linux-block@vger.kernel.org

On Mon, Sep 29, 2025 at 6:46 PM Jens Axboe <axboe@kernel.dk> wrote:
>
> Hi Linus,
>
> Here are the block changes scheduled for the 6.18 merge window. This
> pull request contains:
>
> - NVMe pull request via Keith:
>         - FC target fixes (Daniel)
>         - Authentication fixes and updates (Martin, Chris)
>         - Admin controller handling (Kamaljit)
>         - Target lockdep assertions (Max)
>         - Keep-alive updates for discovery (Alastair)
>         - Suspend quirk (Georg)
>
> - MD pull request via Yu:
>         - Add support for a lockless bitmap. Key features for the new
>           bitmap are that the IO fastpath is lockless. If user issues
>           lots of write IO to the same bitmap bit in a short time, only
>           the first write has additional overhead to update bitmap bit,
>           no additional overhead for the following writes. By supporting
>           only resync or recover written data, means in the case
>           creating new array or replacing with a new disk, there is no
>           need to do a full disk resync/recovery.
>
> - Switch ->getgeo() and ->bios_param() to using struct gendisk rather
>   than struct block_device.
>
> - Rust block changes via Andreas. This series adds configuration via
>   configfs and remote completion to the rnull driver. The series also
>   includes a set of changes to the rust block device driver API: a few
>   cleanup patches, and a few features supporting the rnull changes.
>
>   The series removes the raw buffer formatting logic from
>   `kernel::block` and improves the logic available in `kernel::string`
>   to support the same use as the removed logic.
>
> - floppy arch cleanups
>
> - Add support for UBLK_F_BATCH_IO, improving the user <-> kernel
>   communication
>         - Per-queue vs Per-I/O: Commands operate on queues rather than
>           individual I/Os
>         - Batch processing: Multiple I/Os are handled in single
>           operation
>         - Multishot commands: Use io_uring multishot for reducing
>           submission overhead
>         - Flexible task assignment: Any task can handle any I/O
>           (no per-I/O daemons)
>         - Better load balancing: Tasks can adjust their workload
>           dynamically
>         - help for following future optimizations:
>                 - blk-mq batch tags allocation/free,
>                 - easier to support io-poll
>                 - per-task batch for avoiding per-io lock

Perhaps I'm missing something, but I don't actually see the
UBLK_F_BATCH_IO series in the list of commits. My understanding was
that it's still in the process of being reviewed, I hadn't seen you
apply it yet.

Best,
Caleb

>
> - Series reducing the number of dereferencing needed for ublk commands
>
> - Restrict supported sockets for nbd. Mostly done to eliminate a class
>   of issues perpetually reported by syzbot, by using nonsensical socket
>   setups.
>
> - A few s390 dasd block fixes
>
> - Series fixing a few issues around atomic writes
>
> - Series improving DMA interation for integrity requests
>
> - Series improving how iovecs are treated with regards to O_DIRECT
>   aligment restraints. Currently the kernel requires each segment to
>   adhere to the constraints, after the series only the request as a
>   whole needs to.
>
> - Series cleaning up and improving p2p support, enabling use of p2p for
>   metadata payloads.
>
> - Improve locking of request lookup, using SRCU where appropriate.
>
> - Use page references properly for brd, avoiding very long RCU sections.
>
> - Fix ordering of recursively submitted IOs.
>
> - Series cleaning up and improving updating nr_requests for a live
>   device.
>
> - Various fixes and cleanups.
>
> Note that this will throw a conflict with rust changes from the tip tree
> (see below links), and obviously the bcachefs changes can just be
> dropped on the floor at this point.
>
> [1] https://lore.kernel.org/all/aMligBYh0Z4V5Biv@sirena.org.uk/
> [2] https://lore.kernel.org/all/aMlkUu2MzRYxh96v@sirena.org.uk/
> [3] https://lore.kernel.org/all/aMiScHEWoOABPgt9@sirena.org.uk/
>
> Please pull!
>
>
> The following changes since commit 1b237f190eb3d36f52dffe07a40b5eb210280e00:
>
>   Linux 6.17-rc3 (2025-08-24 12:04:12 -0400)
>
> are available in the Git repository at:
>
>   git://git.kernel.org/pub/scm/linux/kernel/git/axboe/linux.git tags/for-6.18/block-20250929
>
> for you to fetch changes up to 130e6de62107116eba124647116276266be0f84c:
>
>   s390/dasd: enforce dma_alignment to ensure proper buffer validation (2025-09-25 10:34:30 -0600)
>
> ----------------------------------------------------------------
> for-6.18/block-20250929
>
> ----------------------------------------------------------------
> Al Viro (3):
>       scsi: switch scsi_bios_ptable() and scsi_partsize() to gendisk
>       scsi: switch ->bios_param() to passing gendisk
>       block: switch ->getgeo() to struct gendisk
>
> Alistair Francis (1):
>       nvme: Use non zero KATO for persistent discovery connections
>
> Andreas Hindborg (17):
>       rust: str: normalize imports in `str.rs`
>       rust: str: allow `str::Formatter` to format into `&mut [u8]`.
>       rust: str: expose `str::{Formatter, RawFormatter}` publicly.
>       rust: str: introduce `NullTerminatedFormatter`
>       rust: str: introduce `kstrtobool` function
>       rust: configfs: re-export `configfs_attrs` from `configfs` module
>       rust: block: normalize imports for `gen_disk.rs`
>       rust: block: use `NullTerminatedFormatter`
>       rust: block: remove `RawWriter`
>       rust: block: remove trait bound from `mq::Request` definition
>       rust: block: add block related constants
>       rnull: move driver to separate directory
>       rnull: enable configuration via `configfs`
>       rust: block: add `GenDisk` private data support
>       rust: block: mq: fix spelling in a safety comment
>       rust: block: add remote completion to `Request`
>       rnull: add soft-irq completion support
>
> Andy Shevchenko (3):
>       floppy: Remove unused CROSS_64KB() macro from arch/ code
>       floppy: Replace custom SZ_64K constant
>       floppy: Sort headers alphabetically
>
> Bart Van Assche (3):
>       block: Move a misplaced comment in queue_wb_lat_store()
>       blk-mq: Fix the blk_mq_tagset_busy_iter() documentation
>       blk-mq: Fix more tag iteration function documentation
>
> Caleb Sander Mateos (20):
>       ublk: inline __ublk_ch_uring_cmd()
>       ublk: consolidate nr_io_ready and nr_queues_ready
>       ublk: remove ubq check in ublk_check_and_get_req()
>       ublk: don't pass q_id to ublk_queue_cmd_buf_size()
>       ublk: don't pass ublk_queue to __ublk_fail_req()
>       ublk: add helpers to check ublk_device flags
>       ublk: don't dereference ublk_queue in ublk_ch_uring_cmd_local()
>       ublk: don't dereference ublk_queue in ublk_check_and_get_req()
>       ublk: pass ublk_device to ublk_register_io_buf()
>       ublk: don't access ublk_queue in ublk_register_io_buf()
>       ublk: don't access ublk_queue in ublk_daemon_register_io_buf()
>       ublk: pass q_id and tag to __ublk_check_and_get_req()
>       ublk: don't access ublk_queue in ublk_check_fetch_buf()
>       ublk: don't access ublk_queue in ublk_config_io_buf()
>       ublk: don't pass ublk_queue to ublk_fetch()
>       ublk: don't access ublk_queue in ublk_check_commit_and_fetch()
>       ublk: don't access ublk_queue in ublk_need_complete_req()
>       ublk: pass ublk_io to __ublk_complete_rq()
>       ublk: don't access ublk_queue in ublk_unmap_io()
>       ublk: remove redundant zone op check in ublk_setup_iod()
>
> Chris Leech (2):
>       nvme-auth: add hkdf_expand_label()
>       nvme-auth: use hkdf_expand_label()
>
> Christoph Hellwig (2):
>       block: add a bio_init_inline helper
>       block: remove the bi_inline_vecs variable sized array from struct bio
>
> Daniel Wagner (4):
>       nvmet-fc: move lsop put work to nvmet_fc_ls_req_op
>       nvmet-fc: avoid scheduling association deletion twice
>       nvmet-fcloop: call done callback even when remote port is gone
>       nvme-fc: use lock accessing port_state and rport state
>
> Eric Dumazet (1):
>       nbd: restrict sockets to TCP and UDP
>
> Genjian Zhang (1):
>       null_blk: Fix the description of the cache_size module argument
>
> Georg Gottleuber (1):
>       nvme-pci: Add TUXEDO IBS Gen8 to Samsung sleep quirk
>
> Han Guangjiang (1):
>       blk-throttle: fix access race during throttle policy activation
>
> Jaehoon Kim (2):
>       s390/dasd: Return BLK_STS_INVAL for EINVAL from do_dasd_request
>       s390/dasd: enforce dma_alignment to ensure proper buffer validation
>
> Jens Axboe (3):
>       Merge tag 'pull-getgeo' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs into for-6.18/block
>       Merge tag 'md-6.18-20250909' of gitolite.kernel.org:pub/scm/linux/kernel/git/mdraid/linux into for-6.18/block
>       Merge tag 'nvme-6.18-2025-09-23' of git://git.infradead.org/nvme into for-6.18/block
>
> John Garry (3):
>       block: update validation of atomic writes boundary for stacked devices
>       block: fix stacking of atomic writes when atomics are not supported
>       block: relax atomic write boundary vs chunk size check
>
> Kamaljit Singh (2):
>       nvme-core: add method to check for an I/O controller
>       nvme-core: do ioccsz/iorcsz validation only for I/O controllers
>
> Keith Busch (20):
>       blk-mq-dma: create blk_map_iter type
>       blk-mq-dma: provide the bio_vec array being iterated
>       blk-mq-dma: require unmap caller provide p2p map type
>       blk-mq: remove REQ_P2PDMA flag
>       blk-mq-dma: move common dma start code to a helper
>       blk-mq-dma: add scatter-less integrity data DMA mapping
>       blk-integrity: use iterator for mapping sg
>       nvme-pci: create common sgl unmapping helper
>       nvme-pci: convert metadata mapping to dma iter
>       block: check for valid bio while splitting
>       block: add size alignment to bio_iov_iter_get_pages
>       block: align the bio after building it
>       block: simplify direct io validity check
>       iomap: simplify direct io validity check
>       block: remove bdev_iter_is_aligned
>       blk-integrity: use simpler alignment check
>       iov_iter: remove iov_iter_is_aligned
>       blk-integrity: enable p2p source and destination
>       blk-mq-dma: bring back p2p request flags
>       blk-map: provide the bdev to bio if one exists
>
> Li Nan (1):
>       blk-mq: check kobject state_in_sysfs before deleting in blk_mq_unregister_hctx
>
> Marco Crivellari (3):
>       drivers/block: replace use of system_wq with system_percpu_wq
>       drivers/block: replace use of system_unbound_wq with system_dfl_wq
>       drivers/block: WQ_PERCPU added to alloc_workqueue users
>
> Martin George (3):
>       nvme-auth: update bi_directional flag
>       nvme-tcp: send only permitted commands for secure concat
>       nvme-core: use nvme_is_io_ctrl() for I/O controller check
>
> Max Gurtovoy (1):
>       nvmet: add safety check for subsys lock
>
> Ming Lei (6):
>       blk-mq: Move flush queue allocation into blk_mq_init_hctx()
>       blk-mq: Pass tag_set to blk_mq_free_rq_map/tags
>       blk-mq: Defer freeing of tags page_list to SRCU callback
>       blk-mq: Defer freeing flush queue to SRCU callback
>       blk-mq: Replace tags->lock with SRCU for tag iterators
>       blk-mq: Document tags_srcu member in blk_mq_tag_set structure
>
> Nathan Chancellor (1):
>       md/md-llbitmap: Use DIV_ROUND_UP_SECTOR_T
>
> Qianfeng Rong (1):
>       block: use int to store blk_stack_limits() return value
>
> Thorsten Blum (1):
>       block: floppy: Replace kmalloc() + copy_from_user() with memdup_user()
>
> Uday Shankar (4):
>       selftests: ublk: kublk: simplify feat_map definition
>       selftests: ublk: kublk: add UBLK_F_BUF_REG_OFF_DAEMON to feat_map
>       selftests: ublk: add test to verify that feat_map is complete
>       selftests: ublk: fix behavior when fio is not installed
>
> Yu Kuai (56):
>       brd: use page reference to protect page lifetime
>       blk-mq: fix elevator depth_updated method
>       blk-mq: fix blk_mq_tags double free while nr_requests grown
>       md/md-bitmap: remove the parameter 'init' for bitmap_ops->resize()
>       md/md-bitmap: merge md_bitmap_group into bitmap_operations
>       md/md-bitmap: add a new parameter 'flush' to bitmap_ops->enabled
>       md/md-bitmap: add md_bitmap_registered/enabled() helper
>       md/md-bitmap: handle the case bitmap is not enabled before start_sync()
>       md/md-bitmap: handle the case bitmap is not enabled before end_sync()
>       md/raid1: check bitmap before behind write
>       md/raid1: check before referencing mddev->bitmap_ops
>       md/raid10: check before referencing mddev->bitmap_ops
>       md/raid5: check before referencing mddev->bitmap_ops
>       md/dm-raid: check before referencing mddev->bitmap_ops
>       md: check before referencing mddev->bitmap_ops
>       md/md-bitmap: introduce CONFIG_MD_BITMAP
>       md: add a new parameter 'offset' to md_super_write()
>       md: factor out a helper raid_is_456()
>       md/md-bitmap: support discard for bitmap ops
>       md: add a new mddev field 'bitmap_id'
>       md/md-bitmap: add a new sysfs api bitmap_type
>       md/md-bitmap: delay registration of bitmap_ops until creating bitmap
>       md/md-bitmap: add a new method skip_sync_blocks() in bitmap_operations
>       md/md-bitmap: add a new method blocks_synced() in bitmap_operations
>       md: add a new recovery_flag MD_RECOVERY_LAZY_RECOVER
>       md/md-bitmap: make method bitmap_ops->daemon_work optional
>       md/md-llbitmap: introduce new lockless bitmap
>       block: cleanup bio_issue
>       block: initialize bio issue time in blk_mq_submit_bio()
>       blk-mq: add QUEUE_FLAG_BIO_ISSUE_TIME
>       md: fix mssing blktrace bio split events
>       blk-crypto: fix missing blktrace bio split events
>       block: factor out a helper bio_submit_split_bioset()
>       md/raid0: convert raid0_handle_discard() to use bio_submit_split_bioset()
>       md/raid1: convert to use bio_submit_split_bioset()
>       md/raid10: add a new r10bio flag R10BIO_Returned
>       md/raid10: convert read/write to use bio_submit_split_bioset()
>       md/raid5: convert to use bio_submit_split_bioset()
>       md/md-linear: convert to use bio_submit_split_bioset()
>       blk-crypto: convert to use bio_submit_split_bioset()
>       block: skip unnecessary checks for split bio
>       block: fix ordering of recursive split IO
>       md/raid0: convert raid0_make_request() to use bio_submit_split_bioset()
>       blk-mq: remove useless checking in queue_requests_store()
>       blk-mq: remove useless checkings in blk_mq_update_nr_requests()
>       blk-mq: check invalid nr_requests in queue_requests_store()
>       blk-mq: convert to serialize updating nr_requests with update_nr_hwq_lock
>       blk-mq: cleanup shared tags case in blk_mq_update_nr_requests()
>       blk-mq: split bitmap grow and resize case in blk_mq_update_nr_requests()
>       blk-mq-sched: add new parameter nr_requests in blk_mq_alloc_sched_tags()
>       blk-mq: fix potential deadlock while nr_requests grown
>       blk-mq: remove blk_mq_tag_update_depth()
>       blk-mq: fix stale nr_requests documentation
>       blk-throttle: fix throtl_data leak during disk release
>       blk-mq: fix null-ptr-deref in blk_mq_free_tags() from error path
>       blk-cgroup: fix possible deadlock while configuring policy
>
> chengkaitao (1):
>       block/mq-deadline: Remove the redundant rb_entry_rq in the deadline_from_pos().
>
>  Documentation/ABI/stable/sysfs-block            |   14 +-
>  Documentation/admin-guide/md.rst                |   86 +-
>  Documentation/filesystems/locking.rst           |    2 +-
>  Documentation/scsi/scsi_mid_low_api.rst         |    8 +-
>  MAINTAINERS                                     |    2 +-
>  arch/alpha/include/asm/floppy.h                 |   19 -
>  arch/arm/include/asm/floppy.h                   |    2 -
>  arch/m68k/emu/nfblock.c                         |    4 +-
>  arch/m68k/include/asm/floppy.h                  |    4 -
>  arch/mips/include/asm/floppy.h                  |   15 -
>  arch/parisc/include/asm/floppy.h                |   11 +-
>  arch/powerpc/include/asm/floppy.h               |    5 -
>  arch/sparc/include/asm/floppy_32.h              |    3 -
>  arch/sparc/include/asm/floppy_64.h              |    3 -
>  arch/um/drivers/ubd_kern.c                      |    6 +-
>  arch/x86/include/asm/floppy.h                   |    8 +-
>  block/bfq-iosched.c                             |   22 +-
>  block/bio-integrity.c                           |   25 +-
>  block/bio.c                                     |   78 +-
>  block/blk-cgroup.c                              |   29 +-
>  block/blk-cgroup.h                              |   12 +-
>  block/blk-core.c                                |   19 +-
>  block/blk-crypto-fallback.c                     |   19 +-
>  block/blk-integrity.c                           |   58 -
>  block/blk-iolatency.c                           |   19 +-
>  block/blk-map.c                                 |   13 +-
>  block/blk-merge.c                               |   85 +-
>  block/blk-mq-debugfs.c                          |    1 +
>  block/blk-mq-dma.c                              |  282 +++-
>  block/blk-mq-sched.c                            |   14 +-
>  block/blk-mq-sched.h                            |   13 +-
>  block/blk-mq-sysfs.c                            |    7 +-
>  block/blk-mq-tag.c                              |  128 +-
>  block/blk-mq.c                                  |  175 +--
>  block/blk-mq.h                                  |   22 +-
>  block/blk-settings.c                            |   84 +-
>  block/blk-sysfs.c                               |   70 +-
>  block/blk-throttle.c                            |   15 +-
>  block/blk-throttle.h                            |   18 +-
>  block/blk.h                                     |   46 +-
>  block/elevator.c                                |    3 +-
>  block/elevator.h                                |    2 +-
>  block/fops.c                                    |   10 +-
>  block/ioctl.c                                   |    4 +-
>  block/kyber-iosched.c                           |   19 +-
>  block/mq-deadline.c                             |   20 +-
>  block/partitions/ibm.c                          |    2 +-
>  drivers/ata/libata-scsi.c                       |    4 +-
>  drivers/block/Kconfig                           |   10 +-
>  drivers/block/Makefile                          |    4 +-
>  drivers/block/amiflop.c                         |   10 +-
>  drivers/block/aoe/aoeblk.c                      |    4 +-
>  drivers/block/aoe/aoemain.c                     |    2 +-
>  drivers/block/brd.c                             |   75 +-
>  drivers/block/floppy.c                          |   59 +-
>  drivers/block/mtip32xx/mtip32xx.c               |    6 +-
>  drivers/block/nbd.c                             |   10 +-
>  drivers/block/null_blk/main.c                   |    2 +-
>  drivers/block/rbd.c                             |    2 +-
>  drivers/block/rnbd/rnbd-clt.c                   |    6 +-
>  drivers/block/rnull.rs                          |   80 --
>  drivers/block/rnull/Kconfig                     |   13 +
>  drivers/block/rnull/Makefile                    |    3 +
>  drivers/block/rnull/configfs.rs                 |  262 ++++
>  drivers/block/rnull/rnull.rs                    |  104 ++
>  drivers/block/sunvdc.c                          |    7 +-
>  drivers/block/swim.c                            |    4 +-
>  drivers/block/ublk_drv.c                        |  236 ++--
>  drivers/block/virtio_blk.c                      |    8 +-
>  drivers/block/xen-blkfront.c                    |    4 +-
>  drivers/block/zram/zram_drv.c                   |    2 +-
>  drivers/md/Kconfig                              |   29 +
>  drivers/md/Makefile                             |    4 +-
>  drivers/md/bcache/debug.c                       |    3 +-
>  drivers/md/bcache/io.c                          |    3 +-
>  drivers/md/bcache/journal.c                     |    2 +-
>  drivers/md/bcache/movinggc.c                    |    8 +-
>  drivers/md/bcache/super.c                       |    2 +-
>  drivers/md/bcache/writeback.c                   |    8 +-
>  drivers/md/dm-bufio.c                           |    2 +-
>  drivers/md/dm-flakey.c                          |    2 +-
>  drivers/md/dm-raid.c                            |   18 +-
>  drivers/md/dm-vdo/vio.c                         |    2 +-
>  drivers/md/dm.c                                 |    4 +-
>  drivers/md/md-bitmap.c                          |   89 +-
>  drivers/md/md-bitmap.h                          |  107 +-
>  drivers/md/md-cluster.c                         |    2 +-
>  drivers/md/md-linear.c                          |   14 +-
>  drivers/md/md-llbitmap.c                        | 1626 +++++++++++++++++++++++
>  drivers/md/md.c                                 |  382 +++++-
>  drivers/md/md.h                                 |   24 +-
>  drivers/md/raid0.c                              |   30 +-
>  drivers/md/raid1-10.c                           |    2 +-
>  drivers/md/raid1.c                              |  119 +-
>  drivers/md/raid1.h                              |    4 +-
>  drivers/md/raid10.c                             |  107 +-
>  drivers/md/raid10.h                             |    2 +
>  drivers/md/raid5.c                              |   74 +-
>  drivers/memstick/core/ms_block.c                |    4 +-
>  drivers/memstick/core/mspro_block.c             |    4 +-
>  drivers/message/fusion/mptscsih.c               |    2 +-
>  drivers/message/fusion/mptscsih.h               |    2 +-
>  drivers/mmc/core/block.c                        |    4 +-
>  drivers/mtd/mtd_blkdevs.c                       |    4 +-
>  drivers/mtd/ubi/block.c                         |    4 +-
>  drivers/nvdimm/btt.c                            |    4 +-
>  drivers/nvme/common/auth.c                      |   86 +-
>  drivers/nvme/host/auth.c                        |    5 +-
>  drivers/nvme/host/core.c                        |   23 +-
>  drivers/nvme/host/fc.c                          |   10 +-
>  drivers/nvme/host/ioctl.c                       |    5 -
>  drivers/nvme/host/nvme.h                        |    2 +-
>  drivers/nvme/host/pci.c                         |  184 +--
>  drivers/nvme/host/tcp.c                         |    3 +
>  drivers/nvme/target/core.c                      |   15 +-
>  drivers/nvme/target/fc.c                        |   35 +-
>  drivers/nvme/target/fcloop.c                    |    8 +-
>  drivers/s390/block/dasd.c                       |   24 +-
>  drivers/scsi/3w-9xxx.c                          |    2 +-
>  drivers/scsi/3w-sas.c                           |    2 +-
>  drivers/scsi/3w-xxxx.c                          |    2 +-
>  drivers/scsi/BusLogic.c                         |    4 +-
>  drivers/scsi/BusLogic.h                         |    2 +-
>  drivers/scsi/aacraid/linit.c                    |    6 +-
>  drivers/scsi/advansys.c                         |    2 +-
>  drivers/scsi/aha152x.c                          |    4 +-
>  drivers/scsi/aha1542.c                          |    2 +-
>  drivers/scsi/aha1740.c                          |    2 +-
>  drivers/scsi/aic7xxx/aic79xx_osm.c              |    4 +-
>  drivers/scsi/aic7xxx/aic7xxx_osm.c              |    4 +-
>  drivers/scsi/arcmsr/arcmsr_hba.c                |    6 +-
>  drivers/scsi/atp870u.c                          |    2 +-
>  drivers/scsi/fdomain.c                          |    4 +-
>  drivers/scsi/imm.c                              |    2 +-
>  drivers/scsi/initio.c                           |    4 +-
>  drivers/scsi/ipr.c                              |    8 +-
>  drivers/scsi/ips.c                              |    2 +-
>  drivers/scsi/ips.h                              |    2 +-
>  drivers/scsi/libsas/sas_scsi_host.c             |    2 +-
>  drivers/scsi/megaraid.c                         |    4 +-
>  drivers/scsi/megaraid.h                         |    2 +-
>  drivers/scsi/megaraid/megaraid_sas_base.c       |    4 +-
>  drivers/scsi/mpi3mr/mpi3mr_os.c                 |    4 +-
>  drivers/scsi/mpt3sas/mpt3sas_scsih.c            |    4 +-
>  drivers/scsi/mvumi.c                            |    2 +-
>  drivers/scsi/myrb.c                             |    2 +-
>  drivers/scsi/pcmcia/sym53c500_cs.c              |    2 +-
>  drivers/scsi/ppa.c                              |    2 +-
>  drivers/scsi/qla1280.c                          |    2 +-
>  drivers/scsi/qlogicfas408.c                     |    2 +-
>  drivers/scsi/qlogicfas408.h                     |    2 +-
>  drivers/scsi/scsicam.c                          |   16 +-
>  drivers/scsi/sd.c                               |    8 +-
>  drivers/scsi/stex.c                             |    2 +-
>  drivers/scsi/storvsc_drv.c                      |    2 +-
>  drivers/scsi/wd719x.c                           |    2 +-
>  drivers/target/target_core_pscsi.c              |    2 +-
>  fs/bcachefs/btree_io.c                          |    2 +-
>  fs/bcachefs/data_update.h                       |    1 -
>  fs/bcachefs/journal.c                           |    6 +-
>  fs/bcachefs/journal_io.c                        |    2 +-
>  fs/bcachefs/super-io.c                          |    2 +-
>  fs/iomap/direct-io.c                            |    5 +-
>  fs/squashfs/block.c                             |    2 +-
>  include/linux/bio-integrity.h                   |    1 +
>  include/linux/bio.h                             |   18 +-
>  include/linux/blk-integrity.h                   |   32 +
>  include/linux/blk-mq-dma.h                      |   25 +-
>  include/linux/blk-mq.h                          |    4 +
>  include/linux/blk_types.h                       |   19 +-
>  include/linux/blkdev.h                          |   26 +-
>  include/linux/libata.h                          |    2 +-
>  include/linux/uio.h                             |    2 -
>  include/scsi/libsas.h                           |    2 +-
>  include/scsi/scsi_host.h                        |    2 +-
>  include/scsi/scsicam.h                          |    7 +-
>  lib/iov_iter.c                                  |   95 --
>  rust/kernel/block.rs                            |   13 +
>  rust/kernel/block/mq.rs                         |   14 +-
>  rust/kernel/block/mq/gen_disk.rs                |   54 +-
>  rust/kernel/block/mq/operations.rs              |   65 +-
>  rust/kernel/block/mq/raw_writer.rs              |   55 -
>  rust/kernel/block/mq/request.rs                 |   21 +-
>  rust/kernel/configfs.rs                         |    2 +
>  rust/kernel/str.rs                              |  162 ++-
>  samples/rust/rust_configfs.rs                   |    2 +-
>  tools/testing/selftests/ublk/Makefile           |    1 +
>  tools/testing/selftests/ublk/kublk.c            |   32 +-
>  tools/testing/selftests/ublk/test_generic_01.sh |    4 +
>  tools/testing/selftests/ublk/test_generic_02.sh |    4 +
>  tools/testing/selftests/ublk/test_generic_12.sh |    4 +
>  tools/testing/selftests/ublk/test_generic_13.sh |   20 +
>  tools/testing/selftests/ublk/test_null_01.sh    |    4 +
>  tools/testing/selftests/ublk/test_null_02.sh    |    4 +
>  tools/testing/selftests/ublk/test_stress_05.sh  |    4 +
>  195 files changed, 4539 insertions(+), 1833 deletions(-)
>  delete mode 100644 drivers/block/rnull.rs
>  create mode 100644 drivers/block/rnull/Kconfig
>  create mode 100644 drivers/block/rnull/Makefile
>  create mode 100644 drivers/block/rnull/configfs.rs
>  create mode 100644 drivers/block/rnull/rnull.rs
>  create mode 100644 drivers/md/md-llbitmap.c
>  delete mode 100644 rust/kernel/block/mq/raw_writer.rs
>  create mode 100755 tools/testing/selftests/ublk/test_generic_13.sh
>
> --
> Jens Axboe
>
>

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

* Re: [GIT PULL] Block changes for 6.18-rc1
  2025-09-30  1:50 ` Caleb Sander Mateos
@ 2025-09-30  2:16   ` Jens Axboe
  0 siblings, 0 replies; 4+ messages in thread
From: Jens Axboe @ 2025-09-30  2:16 UTC (permalink / raw)
  To: Caleb Sander Mateos; +Cc: Linus Torvalds, linux-block@vger.kernel.org

On 9/29/25 7:50 PM, Caleb Sander Mateos wrote:
> On Mon, Sep 29, 2025 at 6:46?PM Jens Axboe <axboe@kernel.dk> wrote:
>>
>> Hi Linus,
>>
>> Here are the block changes scheduled for the 6.18 merge window. This
>> pull request contains:
>>
>> - NVMe pull request via Keith:
>>         - FC target fixes (Daniel)
>>         - Authentication fixes and updates (Martin, Chris)
>>         - Admin controller handling (Kamaljit)
>>         - Target lockdep assertions (Max)
>>         - Keep-alive updates for discovery (Alastair)
>>         - Suspend quirk (Georg)
>>
>> - MD pull request via Yu:
>>         - Add support for a lockless bitmap. Key features for the new
>>           bitmap are that the IO fastpath is lockless. If user issues
>>           lots of write IO to the same bitmap bit in a short time, only
>>           the first write has additional overhead to update bitmap bit,
>>           no additional overhead for the following writes. By supporting
>>           only resync or recover written data, means in the case
>>           creating new array or replacing with a new disk, there is no
>>           need to do a full disk resync/recovery.
>>
>> - Switch ->getgeo() and ->bios_param() to using struct gendisk rather
>>   than struct block_device.
>>
>> - Rust block changes via Andreas. This series adds configuration via
>>   configfs and remote completion to the rnull driver. The series also
>>   includes a set of changes to the rust block device driver API: a few
>>   cleanup patches, and a few features supporting the rnull changes.
>>
>>   The series removes the raw buffer formatting logic from
>>   `kernel::block` and improves the logic available in `kernel::string`
>>   to support the same use as the removed logic.
>>
>> - floppy arch cleanups
>>
>> - Add support for UBLK_F_BATCH_IO, improving the user <-> kernel
>>   communication
>>         - Per-queue vs Per-I/O: Commands operate on queues rather than
>>           individual I/Os
>>         - Batch processing: Multiple I/Os are handled in single
>>           operation
>>         - Multishot commands: Use io_uring multishot for reducing
>>           submission overhead
>>         - Flexible task assignment: Any task can handle any I/O
>>           (no per-I/O daemons)
>>         - Better load balancing: Tasks can adjust their workload
>>           dynamically
>>         - help for following future optimizations:
>>                 - blk-mq batch tags allocation/free,
>>                 - easier to support io-poll
>>                 - per-task batch for avoiding per-io lock
> 
> Perhaps I'm missing something, but I don't actually see the
> UBLK_F_BATCH_IO series in the list of commits. My understanding was
> that it's still in the process of being reviewed, I hadn't seen you
> apply it yet.

Yep you are totally right, that did not make it in. It was part of my
draft but never got it updated! Linus, please just edit this that part
out when pulling, thanks.

-- 
Jens Axboe

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

* Re: [GIT PULL] Block changes for 6.18-rc1
  2025-09-30  1:46 [GIT PULL] Block changes for 6.18-rc1 Jens Axboe
  2025-09-30  1:50 ` Caleb Sander Mateos
@ 2025-10-02 17:49 ` pr-tracker-bot
  1 sibling, 0 replies; 4+ messages in thread
From: pr-tracker-bot @ 2025-10-02 17:49 UTC (permalink / raw)
  To: Jens Axboe; +Cc: Linus Torvalds, linux-block@vger.kernel.org

The pull request you sent on Mon, 29 Sep 2025 19:46:25 -0600:

> git://git.kernel.org/pub/scm/linux/kernel/git/axboe/linux.git tags/for-6.18/block-20250929

has been merged into torvalds/linux.git:
https://git.kernel.org/torvalds/c/e1b1d03ceec343362524318c076b110066ffe305

Thank you!

-- 
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/prtracker.html

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

end of thread, other threads:[~2025-10-02 17:49 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-09-30  1:46 [GIT PULL] Block changes for 6.18-rc1 Jens Axboe
2025-09-30  1:50 ` Caleb Sander Mateos
2025-09-30  2:16   ` Jens Axboe
2025-10-02 17:49 ` 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