mbox series

[GIT,PULL] Block updates for 6.13-rc1

Message ID 968b578f-146c-4e94-a68e-e7451762a81a@kernel.dk (mailing list archive)
State New
Headers show
Series [GIT,PULL] Block updates for 6.13-rc1 | expand

Pull-request

git://git.kernel.dk/linux.git tags/for-6.13/block-20241118

Message

Jens Axboe Nov. 18, 2024, 2:38 p.m. UTC
Hi Linus,

Here are the initial set of block updates for the 6.13 kernel. Fairly
quiet round this time. This request contains:

- NVMe updates via Keith
	- Use uring_cmd helper (Pavel)
	- Host Memory Buffer allocation enhancements (Christoph)
	- Target persistent reservation support (Guixin)
	- Persistent reservation tracing (Guixen)
	- NVMe 2.1 specification support (Keith)
	- Rotational Meta Support (Matias, Wang, Keith)
	- Volatile cache detection enhancment (Guixen)

- MD updates via Song
	- Maintainers update
	- raid5 sync IO fix
	- Enhance handling of faulty and blocked devices
	- raid5-ppl atomic improvement
	- md-bitmap fix

- Support for manually defining embedded partition tables

- Zone append fixes and cleanups

- Stop sending the queued requests in the plug list to the driver
  ->queue_rqs() handle in revers order.

- Zoned write plug cleanups

- Cleanups disk stats tracking and add support for disk stats for
  passthrough IO

- Add preparatory support for file system atomic writes

- Add lockdep support for queue freezing. Already found a bunch of
  issues, and some fixes for that are in here. More will be coming.

- Fix race between queue stopping/quiescing and IO queueing

- ublk recovery improvements

- Fix ublk mmap for 64k pages

- Various fixes and cleanups

Note that merging this will throw a simple merge conflict
drivers/nvme/host/core.c due to the SRCU iteration fix that got merged
late in the 6.12 cycle. I won't bother with noting how to resolve it
here, as it's about as simple as it gets.

Please pull!


The following changes since commit 42f7652d3eb527d03665b09edac47f85fb600924:

  Linux 6.12-rc4 (2024-10-20 15:19:38 -0700)

are available in the Git repository at:

  git://git.kernel.dk/linux.git tags/for-6.13/block-20241118

for you to fetch changes up to 88d47f629313730f26a3b00224d1e1a5e3b7bb79:

  Merge tag 'md-6.13-20241115' of https://git.kernel.org/pub/scm/linux/kernel/git/mdraid/linux into for-6.13/block (2024-11-15 12:37:33 -0700)

----------------------------------------------------------------
for-6.13/block-20241118

----------------------------------------------------------------
Bart Van Assche (2):
      blk-mq: Make blk_mq_quiesce_tagset() hold the tag list mutex less long
      blk-mq: Unexport blk_mq_flush_busy_ctxs()

Chaitanya Kulkarni (1):
      nvme-core: remove repeated wq flags

Christian Marangi (6):
      block: add support for defining read-only partitions
      docs: block: Document support for read-only partition in cmdline part
      block: introduce add_disk_fwnode()
      mmc: block: attach partitions fwnode if found in mmc-card
      block: add support for partition table defined in OF
      dt-bindings: mmc: Document support for partition table in mmc-card

Christoph Hellwig (24):
      block: return void from the queue_sysfs_entry load_module method
      block: add a bdev_limits helper
      block: remove zone append special casing from the direct I/O path
      block: remove bio_add_zone_append_page
      block: update blk_stack_limits documentation
      block: remove the max_zone_append_sectors check in blk_revalidate_disk_zones
      block: pre-calculate max_zone_append_sectors
      nvme-pci: fix freeing of the HMB descriptor table
      nvme-pci: use dma_alloc_noncontigous if possible
      block: take chunk_sectors into account in bio_split_write_zeroes
      block: fix bio_split_rw_at to take zone_write_granularity into account
      block: lift bio_is_zone_append to bio.h
      block: pre-calculate max_zone_append_sectors
      nvme-multipath: don't bother clearing max_hw_zone_append_sectors
      block: remove the write_hint field from struct request
      block: remove the ioprio field from struct request
      block: export blk_validate_limits
      btrfs: validate queue limits
      nvme-pci: reverse request order in nvme_queue_rqs
      virtio_blk: reverse request order in virtio_queue_rqs
      block: remove rq_list_move
      block: add a rq_list type
      block: don't reorder requests in blk_add_rq_to_plug
      block: don't reorder requests in blk_mq_add_to_batch

Damien Le Moal (3):
      block: Switch to using refcount_t for zone write plugs
      block: RCU protect disk->conv_zones_bitmap
      block: Add a public bdev_zone_is_seq() helper

David Wang (1):
      block/genhd: use seq_put_decimal_ull for diskstats decimal values

Greg Joyce (1):
      block: sed-opal: add ioctl IOC_OPAL_SET_SID_PW

Guixin Liu (7):
      nvmet: make nvmet_wq visible in sysfs
      nvme: add reservation command's defines
      nvmet: support reservation feature
      nvme: check ns's volatile write cache not present
      nvmet: report ns's vwc not present
      nvme: parse reservation commands's action and rtype to string
      nvmet: add tracing of reservation commands

Jens Axboe (13):
      block: move iostat check into blk_acount_io_start()
      block: remove redundant passthrough check in blk_mq_need_time_stamp()
      block: remove 'req->part' check for stats accounting
      block: kill blk_do_io_stat() helper
      block: set issue time stamp based on queue state
      block: move issue side time stamping to blk_account_io_start()
      Merge branch 'for-6.13/block-atomic' into for-6.13/block
      Merge tag 'md-6.13-20241105' of https://git.kernel.org/pub/scm/linux/kernel/git/song/md into for-6.13/block
      Revert "block: pre-calculate max_zone_append_sectors"
      Merge tag 'md-6.13-20241107' of https://git.kernel.org/pub/scm/linux/kernel/git/song/md into for-6.13/block
      Merge tag 'nvme-6.13-2024-11-13' of git://git.infradead.org/nvme into for-6.13/block
      block: make struct rq_list available for !CONFIG_BLOCK
      Merge tag 'md-6.13-20241115' of https://git.kernel.org/pub/scm/linux/kernel/git/mdraid/linux into for-6.13/block

John Garry (12):
      block/fs: Pass an iocb to generic_atomic_write_valid()
      fs/block: Check for IOCB_DIRECT in generic_atomic_write_valid()
      block: Add bdev atomic write limits helpers
      loop: Use bdev limit helpers for configuring discard
      loop: Simplify discard granularity calc
      block: Rework bio_split() return value
      block: Error an attempt to split an atomic write in bio_split()
      block: Handle bio_split() errors in bio_submit_split()
      md/raid0: Handle bio_split() errors
      md/raid1: Handle bio_split() errors
      md/raid10: Handle bio_split() errors
      md/raid5: Increase r5conf.cache_name size

Julia Lawall (1):
      block: replace call_rcu by kfree_rcu for simple kmem_cache_free callback

Keith Busch (11):
      block: enable passthrough command statistics
      blk-integrity: remove seed for user mapped buffers
      nvmet: implement id ns for nvm command set
      nvmet: implement active command set ns list
      nvmet: implement supported log pages
      nvmet: implement supported features log
      nvmet: implement crto property
      nvmet: declare 2.1 version compliance
      nvmet: implement endurance groups
      nvmet: implement rotational media information log
      nvmet: support for csi identify ns

Konstantin Khlebnikov (1):
      block: add partition uuid into uevent as "PARTUUID"

Li Lingfeng (1):
      block: flush all throttled bios when deleting the cgroup

Li Wang (1):
      loop: fix type of block size

Matias Bjørling (1):
      nvme: use command set independent id ns if available

Ming Lei (11):
      blk-mq: add non_owner variant of start_freeze/unfreeze queue APIs
      nvme: core: switch to non_owner variant of start_freeze/unfreeze queue
      block: model freeze & enter queue as lock for supporting lockdep
      iov_iter: don't require contiguous pages in iov_iter_extract_bvec_pages
      lib/iov_iter.c: initialize bi.bi_idx before iterating over bvec
      lib/iov_iter: fix bvec iterator setup
      block: remove blk_freeze_queue()
      rbd: unfreeze queue after marking disk as dead
      block: always verify unfreeze lock on the owner task
      block: don't verify IO lock for freeze/unfreeze in elevator_init_mq()
      ublk: fix ublk_ch_mmap() for 64K page size

Miroslav Franc (1):
      s390/dasd: fix redundant /proc/dasd* entries removal

Muchun Song (4):
      block: fix missing dispatching request when queue is started or unquiesced
      block: fix ordering between checking QUEUE_FLAG_QUIESCED request adding
      block: fix ordering between checking BLK_MQ_S_STOPPED request adding
      block: remove redundant explicit memory barrier from rq_qos waiter and waker

Pavel Begunkov (1):
      nvme: use helpers to access io_uring cmd space

Philipp Stanner (1):
      mtip32xx: Replace deprecated PCI functions

Song Liu (2):
      MAINTAINERS: Make Yu Kuai co-maintainer of md/raid subsystem
      MAINTAINERS: Update git tree for mdraid subsystem

Uday Shankar (5):
      ublk: check recovery flags for validity
      ublk: refactor recovery configuration flag helpers
      ublk: merge stop_work and quiesce_work
      ublk: support device recovery without I/O queueing
      Documentation: ublk: document UBLK_F_USER_RECOVERY_FAIL_IO

Uros Bizjak (1):
      md/raid5-ppl: Use atomic64_inc_return() in ppl_new_iounit()

Wang Yugui (1):
      Snvme: add rotational support

Xiao Ni (1):
      md/raid5: Wait sync io to finish before changing group cnt

Xiuhong Wang (1):
      Revert "blk-throttle: Fix IO hang for a corner case"

Yang Erkun (1):
      brd: defer automatic disk creation until module initialization succeeds

Yu Jiaoliang (1):
      s390/dasd: Fix typo in comment

Yu Kuai (7):
      md: add a new helper rdev_blocked()
      md: don't wait faulty rdev in md_wait_for_blocked_rdev()
      md: don't record new badblocks for faulty rdev
      md/raid1: factor out helper to handle blocked rdev from raid1_write_request()
      md/raid1: don't wait for Faulty rdev in wait_blocked_rdev()
      md/raid10: don't wait for Faulty rdev in wait_blocked_rdev()
      md/raid5: don't set Faulty rdev for blocked_rdev

Yuan Can (1):
      md/md-bitmap: Add missing destroy_work_on_stack()

zhangguopeng (1):
      block: Replace sprintf() with sysfs_emit()

 Documentation/ABI/stable/sysfs-block               |    7 +
 Documentation/block/cmdline-partition.rst          |    5 +-
 Documentation/block/ublk.rst                       |   24 +-
 .../devicetree/bindings/mmc/mmc-card.yaml          |   52 +
 MAINTAINERS                                        |    4 +-
 block/bio-integrity.c                              |   13 +-
 block/bio.c                                        |   81 +-
 block/blk-core.c                                   |   26 +-
 block/blk-crypto-fallback.c                        |    2 +-
 block/blk-integrity.c                              |    4 +-
 block/blk-ioc.c                                    |    9 +-
 block/blk-merge.c                                  |  107 +-
 block/blk-mq.c                                     |  307 ++++--
 block/blk-mq.h                                     |   15 +-
 block/blk-rq-qos.c                                 |    4 +-
 block/blk-settings.c                               |   40 +-
 block/blk-sysfs.c                                  |   80 +-
 block/blk-throttle.c                               |   76 +-
 block/blk-zoned.c                                  |   68 +-
 block/blk.h                                        |   52 +-
 block/elevator.c                                   |   18 +-
 block/elevator.h                                   |    4 +-
 block/fops.c                                       |   22 +-
 block/genhd.c                                      |  136 ++-
 block/partitions/Kconfig                           |    9 +
 block/partitions/Makefile                          |    1 +
 block/partitions/check.h                           |    1 +
 block/partitions/cmdline.c                         |    3 +
 block/partitions/core.c                            |    8 +
 block/partitions/of.c                              |  110 ++
 block/sed-opal.c                                   |   26 +
 drivers/block/brd.c                                |   66 +-
 drivers/block/loop.c                               |   13 +-
 drivers/block/mtip32xx/mtip32xx.c                  |   14 +-
 drivers/block/null_blk/main.c                      |    9 +-
 drivers/block/null_blk/zoned.c                     |    2 +-
 drivers/block/rbd.c                                |    1 +
 drivers/block/ublk_drv.c                           |  208 ++--
 drivers/block/virtio_blk.c                         |   55 +-
 drivers/md/dm-cache-target.c                       |    4 +-
 drivers/md/dm-clone-target.c                       |    4 +-
 drivers/md/dm-thin.c                               |    2 +-
 drivers/md/dm-zone.c                               |    4 +-
 drivers/md/md-bitmap.c                             |    1 +
 drivers/md/md.c                                    |   15 +-
 drivers/md/md.h                                    |   24 +
 drivers/md/raid0.c                                 |   12 +
 drivers/md/raid1.c                                 |  108 +-
 drivers/md/raid10.c                                |   87 +-
 drivers/md/raid5-ppl.c                             |    2 +-
 drivers/md/raid5.c                                 |   17 +-
 drivers/md/raid5.h                                 |    2 +-
 drivers/mmc/core/block.c                           |   55 +-
 drivers/nvme/host/apple.c                          |    2 +-
 drivers/nvme/host/core.c                           |   38 +-
 drivers/nvme/host/ioctl.c                          |   21 +-
 drivers/nvme/host/multipath.c                      |    2 -
 drivers/nvme/host/nvme.h                           |    1 +
 drivers/nvme/host/pci.c                            |  120 +-
 drivers/nvme/host/trace.c                          |   58 +-
 drivers/nvme/host/zns.c                            |    2 +-
 drivers/nvme/target/Makefile                       |    2 +-
 drivers/nvme/target/admin-cmd.c                    |  288 ++++-
 drivers/nvme/target/configfs.c                     |   27 +
 drivers/nvme/target/core.c                         |   64 +-
 drivers/nvme/target/fabrics-cmd.c                  |    7 +-
 drivers/nvme/target/nvmet.h                        |   67 +-
 drivers/nvme/target/pr.c                           | 1156 ++++++++++++++++++++
 drivers/nvme/target/trace.c                        |  108 ++
 drivers/nvme/target/zns.c                          |   21 +-
 drivers/s390/block/dasd.c                          |    2 +-
 drivers/s390/block/dasd_devmap.c                   |    2 +-
 drivers/s390/block/dasd_eckd.c                     |    2 +-
 drivers/s390/block/dasd_proc.c                     |    5 +
 drivers/scsi/sd.c                                  |    6 +-
 drivers/scsi/sd_zbc.c                              |    2 -
 fs/btrfs/zoned.c                                   |   13 +-
 fs/read_write.c                                    |   15 +-
 include/linux/bio-integrity.h                      |    4 +-
 include/linux/bio.h                                |   19 +-
 include/linux/blk-integrity.h                      |    5 +-
 include/linux/blk-mq.h                             |  115 +-
 include/linux/blkdev.h                             |  111 +-
 include/linux/fs.h                                 |    2 +-
 include/linux/nvme.h                               |  135 ++-
 include/linux/sed-opal.h                           |    1 +
 include/trace/events/block.h                       |    6 +-
 include/uapi/linux/sed-opal.h                      |    1 +
 include/uapi/linux/ublk_cmd.h                      |   18 +
 io_uring/rw.c                                      |    4 +-
 lib/iov_iter.c                                     |   68 +-
 91 files changed, 3617 insertions(+), 922 deletions(-)
 create mode 100644 block/partitions/of.c
 create mode 100644 drivers/nvme/target/pr.c