mirror-linux/drivers/md
Linus Torvalds 0c00ed308d for-7.0/block-20260206
-----BEGIN PGP SIGNATURE-----
 
 iQJEBAABCAAuFiEEwPw5LcreJtl1+l5K99NY+ylx4KYFAmmGLwcQHGF4Ym9lQGtl
 cm5lbC5kawAKCRD301j7KXHgpv+TD/48S2HTnMhmW6AtFYWErQ+sEKXpHrxbYe7S
 +qR8/g/T+QSfhfqPwZEuagndFKtIP3LJfaXGSP1Lk1RfP9NLQy91v33Ibe4DjHkp
 etWSfnMHA9MUAoWKmg8EvncB2G+ZQFiYCpjazj5tKHD9S2+psGMuL8kq6qzMJE83
 uhpb8WutUl4aSIXbMSfyGlwBhI1MjjRbbWlIBmg4yC8BWt1sH8Qn2L2GNVylEIcX
 U8At3KLgPGn0axSg4yGMAwTqtGhL/jwdDyeczbmRlXuAr4iVL9UX/yADCYkazt6U
 ttQ2/H+cxCwfES84COx9EteAatlbZxo6wjGvZ3xOMiMJVTjYe1x6Gkcckq+LrZX6
 tjofi2KK78qkrMXk1mZMkZjpyUWgRtCswhDllbQyqFs0SwzQtno2//Rk8HU9dhbt
 pkpryDbGFki9X3upcNyEYp5TYflpW6YhAzShYgmE6KXim2fV8SeFLviy0erKOAl+
 fwjTE6KQ5QoQv0s3WxkWa4lREm34O6IHrCUmbiPm5CruJnQDhqAN2QZIDgYC4WAf
 0gu9cR/O4Vxu7TQXrumPs5q+gCyDU0u0B8C3mG2s+rIo+PI5cVZKs2OIZ8HiPo0F
 x73kR/pX3DMe35ZQkQX22ymMuowV+aQouDLY9DTwakP5acdcg7h7GZKABk6VLB06
 gUIsnxURiQ==
 =jNzW
 -----END PGP SIGNATURE-----

Merge tag 'for-7.0/block-20260206' of git://git.kernel.org/pub/scm/linux/kernel/git/axboe/linux

Pull block updates from Jens Axboe:

 - Support for batch request processing for ublk, improving the
   efficiency of the kernel/ublk server communication. This can yield
   nice 7-12% performance improvements

 - Support for integrity data for ublk

 - Various other ublk improvements and additions, including a ton of
   selftests additions and updated

 - Move the handling of blk-crypto software fallback from below the
   block layer to above it. This reduces the complexity of dealing with
   bio splitting

 - Series fixing a number of potential deadlocks in blk-mq related to
   the queue usage counter and writeback throttling and rq-qos debugfs
   handling

 - Add an async_depth queue attribute, to resolve a performance
   regression that's been around for a qhilw related to the scheduler
   depth handling

 - Only use task_work for IOPOLL completions on NVMe, if it is necessary
   to do so. An earlier fix for an issue resulted in all these
   completions being punted to task_work, to guarantee that completions
   were only run for a given io_uring ring when it was local to that
   ring. With the new changes, we can detect if it's necessary to use
   task_work or not, and avoid it if possible.

 - rnbd fixes:
      - Fix refcount underflow in device unmap path
      - Handle PREFLUSH and NOUNMAP flags properly in protocol
      - Fix server-side bi_size for special IOs
      - Zero response buffer before use
      - Fix trace format for flags
      - Add .release to rnbd_dev_ktype

 - MD pull requests via Yu Kuai
      - Fix raid5_run() to return error when log_init() fails
      - Fix IO hang with degraded array with llbitmap
      - Fix percpu_ref not resurrected on suspend timeout in llbitmap
      - Fix GPF in write_page caused by resize race
      - Fix NULL pointer dereference in process_metadata_update
      - Fix hang when stopping arrays with metadata through dm-raid
      - Fix any_working flag handling in raid10_sync_request
      - Refactor sync/recovery code path, improve error handling for
        badblocks, and remove unused recovery_disabled field
      - Consolidate mddev boolean fields into mddev_flags
      - Use mempool to allocate stripe_request_ctx and make sure
        max_sectors is not less than io_opt in raid5
      - Fix return value of mddev_trylock
      - Fix memory leak in raid1_run()
      - Add Li Nan as mdraid reviewer

 - Move phys_vec definitions to the kernel types, mostly in preparation
   for some VFIO and RDMA changes

 - Improve the speed for secure erase for some devices

 - Various little rust updates

 - Various other minor fixes, improvements, and cleanups

* tag 'for-7.0/block-20260206' of git://git.kernel.org/pub/scm/linux/kernel/git/axboe/linux: (162 commits)
  blk-mq: ABI/sysfs-block: fix docs build warnings
  selftests: ublk: organize test directories by test ID
  block: decouple secure erase size limit from discard size limit
  block: remove redundant kill_bdev() call in set_blocksize()
  blk-mq: add documentation for new queue attribute async_dpeth
  block, bfq: convert to use request_queue->async_depth
  mq-deadline: covert to use request_queue->async_depth
  kyber: covert to use request_queue->async_depth
  blk-mq: add a new queue sysfs attribute async_depth
  blk-mq: factor out a helper blk_mq_limit_depth()
  blk-mq-sched: unify elevators checking for async requests
  block: convert nr_requests to unsigned int
  block: don't use strcpy to copy blockdev name
  blk-mq-debugfs: warn about possible deadlock
  blk-mq-debugfs: add missing debugfs_mutex in blk_mq_debugfs_register_hctxs()
  blk-mq-debugfs: remove blk_mq_debugfs_unregister_rqos()
  blk-mq-debugfs: make blk_mq_debugfs_register_rqos() static
  blk-rq-qos: fix possible debugfs_mutex deadlock
  blk-mq-debugfs: factor out a helper to register debugfs for all rq_qos
  blk-wbt: fix possible deadlock to nest pcpu_alloc_mutex under q_usage_counter
  ...
2026-02-09 17:57:21 -08:00
..
bcache bcache: fix I/O accounting leak in detached_dev_do_request 2026-01-28 19:06:55 -07:00
dm-pcache small dm code refactoring 2025-12-11 12:13:29 +09:00
dm-vdo small dm code refactoring 2025-12-11 12:13:29 +09:00
persistent-data lib/crc: remove CONFIG_LIBCRC32C 2025-04-04 11:31:42 -07:00
Kconfig dm-verity: use SHA-256 library for SHA-256 2025-10-20 15:47:27 +02:00
Makefile dm docs: fix typos 2025-10-03 18:48:02 -07:00
dm-audit.c
dm-audit.h
dm-bio-prison-v1.c dm cache: Remove unused functions in bio-prison-v1 2024-11-20 11:38:04 +01:00
dm-bio-prison-v1.h dm cache: Remove unused functions in bio-prison-v1 2024-11-20 11:38:04 +01:00
dm-bio-prison-v2.c dm: use bio_list_merge_init 2024-04-01 11:53:37 -06:00
dm-bio-prison-v2.h
dm-bio-record.h
dm-bufio.c dm-bufio: align write boundary on physical block size 2025-12-10 19:28:22 +01:00
dm-builtin.c
dm-cache-background-tracker.c dm cache: Remove unused btracker_nr_writebacks_queued 2024-11-20 11:38:04 +01:00
dm-cache-background-tracker.h dm cache: Remove unused btracker_nr_writebacks_queued 2024-11-20 11:38:04 +01:00
dm-cache-block-types.h
dm-cache-metadata.c dm cache: Remove unused dm_cache_size 2024-11-20 11:38:04 +01:00
dm-cache-metadata.h dm cache: Remove unused dm_cache_size 2024-11-20 11:38:04 +01:00
dm-cache-policy-internal.h
dm-cache-policy-smq.c dm: use vmalloc_array() to simplify code 2025-08-19 11:12:50 +02:00
dm-cache-policy.c
dm-cache-policy.h
dm-cache-target.c dm cache: support shrinking the origin device 2025-03-06 16:13:47 +01:00
dm-clone-metadata.c dm: Make use of __assign_bit() API 2024-09-02 16:53:53 +02:00
dm-clone-metadata.h
dm-clone-target.c block: add a bdev_limits helper 2024-10-29 09:15:00 -06:00
dm-core.h dm: remove useless md->nr_zones variable 2025-10-20 15:21:56 +02:00
dm-crypt.c dm-crypt: enable DM_TARGET_ATOMIC_WRITES 2025-12-10 19:28:22 +01:00
dm-delay.c treewide, timers: Rename from_timer() to timer_container_of() 2025-06-08 09:07:37 +02:00
dm-dust.c dm: Allow .prepare_ioctl to handle ioctls directly 2025-05-04 11:35:05 +02:00
dm-ebs-target.c dm-ebs: Mark full buffer dirty even on partial write 2025-11-18 18:24:26 +01:00
dm-era-target.c dm: Constify struct dm_block_validator 2024-07-19 12:08:15 +02:00
dm-exception-store.c
dm-exception-store.h dm-snapshot: fix 'scheduling while atomic' on real-time kernels 2025-12-10 19:28:22 +01:00
dm-flakey.c block: add a bio_init_inline helper 2025-09-09 07:31:59 -06:00
dm-ima.c dm-ima: drop a useless argument 2025-08-19 11:12:50 +02:00
dm-ima.h
dm-init.c dm init: Handle minors larger than 255 2024-07-02 20:53:41 +02:00
dm-integrity.c dm docs: fix typos 2025-10-03 18:48:02 -07:00
dm-io-rewind.c
dm-io-tracker.h
dm-io.c dm-io: Warn on creating multiple atomic write bios for a region 2025-01-17 22:24:09 +01:00
dm-ioctl.c dm mpath: Interface for explicit probing of active paths 2025-05-04 11:35:06 +02:00
dm-kcopyd.c dm io: Support IO priority 2024-02-20 14:22:51 -05:00
dm-linear.c mm: remove callers of pfn_t functionality 2025-07-09 22:42:19 -07:00
dm-log-userspace-base.c dm: update relevant MODULE_AUTHOR entries to latest dm-devel mailing list 2024-02-20 14:22:55 -05:00
dm-log-userspace-transfer.c
dm-log-userspace-transfer.h
dm-log-writes.c dm log-writes: Add missing set_freezable() for freezable kthread 2025-12-10 19:28:22 +01:00
dm-log.c dm: update relevant MODULE_AUTHOR entries to latest dm-devel mailing list 2024-02-20 14:22:55 -05:00
dm-mpath.c SCSI misc on 20251214 2025-12-14 15:35:35 +12:00
dm-mpath.h
dm-path-selector.c dm-mpath: make dm_unregister_path_selector return void 2025-06-30 16:20:04 +02:00
dm-path-selector.h dm-mpath: make dm_unregister_path_selector return void 2025-06-30 16:20:04 +02:00
dm-ps-historical-service-time.c dm-mpath: don't print the "loaded" message if registering fails 2025-06-30 16:20:17 +02:00
dm-ps-io-affinity.c dm-mpath: make dm_unregister_path_selector return void 2025-06-30 16:20:04 +02:00
dm-ps-queue-length.c dm-mpath: don't print the "loaded" message if registering fails 2025-06-30 16:20:17 +02:00
dm-ps-round-robin.c dm-mpath: don't print the "loaded" message if registering fails 2025-06-30 16:20:17 +02:00
dm-ps-service-time.c dm-mpath: don't print the "loaded" message if registering fails 2025-06-30 16:20:17 +02:00
dm-raid.c dm-raid: fix possible NULL dereference with undefined raid type 2025-12-10 19:28:22 +01:00
dm-raid1.c treewide, timers: Rename from_timer() to timer_container_of() 2025-06-08 09:07:37 +02:00
dm-region-hash.c dm: use vmalloc_array() to simplify code 2025-08-19 11:12:50 +02:00
dm-rq.c block: pass io_comp_batch to rq_end_io_fn callback 2026-01-20 10:12:54 -07:00
dm-rq.h
dm-snap-persistent.c dm io: Support IO priority 2024-02-20 14:22:51 -05:00
dm-snap-transient.c
dm-snap.c dm-snapshot: fix 'scheduling while atomic' on real-time kernels 2025-12-10 19:28:22 +01:00
dm-stats.c dm stats: limit the number of entries 2024-01-30 14:06:44 -05:00
dm-stats.h
dm-stripe.c dm-stripe: fix a possible integer overflow 2025-08-11 13:17:32 +02:00
dm-switch.c dm: use vmalloc_array() to simplify code 2025-08-19 11:12:50 +02:00
dm-sysfs.c dm: sysfs: use sysfs_emit() in dm-sysfs.c 2025-10-20 15:22:21 +02:00
dm-table.c dm: Fix deadlock when reloading a multipath table 2025-10-20 15:26:57 +02:00
dm-target.c dm error: mark as DM_TARGET_PASSES_INTEGRITY 2025-08-19 11:12:50 +02:00
dm-thin-metadata.c dm: Constify struct dm_block_validator 2024-07-19 12:08:15 +02:00
dm-thin-metadata.h
dm-thin.c dm: ignore discard return value 2025-12-10 19:28:22 +01:00
dm-uevent.c
dm-uevent.h
dm-unstripe.c dm-unstriped: cast an operand to sector_t to prevent potential uint32_t overflow 2024-11-04 17:34:56 +01:00
dm-verity-fec.c small dm code refactoring 2025-12-11 12:13:29 +09:00
dm-verity-fec.h dm-verity: remove useless mempool 2025-12-10 19:28:12 +01:00
dm-verity-loadpin.c
dm-verity-target.c dm-verity: disable recursive forward error correction 2025-12-10 19:27:59 +01:00
dm-verity-verify-sig.c dm-verity: fix a memory leak if some arguments are specified multiple times 2025-06-03 19:01:42 +02:00
dm-verity-verify-sig.h
dm-verity.h dm-verity: use 2-way interleaved SHA-256 hashing when supported 2025-10-20 15:47:42 +02:00
dm-writecache.c mm: remove callers of pfn_t functionality 2025-07-09 22:42:19 -07:00
dm-zero.c dm: always manage discard support in terms of max_hw_discard_sectors 2024-05-20 15:51:19 -04:00
dm-zone.c small dm code refactoring 2025-12-11 12:13:29 +09:00
dm-zoned-metadata.c dm: zoned: Remove unused functions 2024-11-20 11:38:04 +01:00
dm-zoned-reclaim.c dm: Fix dm-zoned-reclaim zone write pointer alignment 2024-12-10 09:15:33 -07:00
dm-zoned-target.c md: dm-zoned-target: Initialize return variable r to avoid uninitialized use 2025-07-31 15:39:55 +02:00
dm-zoned.h dm: zoned: Remove unused functions 2024-11-20 11:38:04 +01:00
dm.c small dm code refactoring 2025-12-11 12:13:29 +09:00
dm.h block: introduce disk_report_zone() 2025-11-05 08:07:21 -07:00
md-autodetect.c md: reintroduce md-linear 2025-01-13 07:36:29 -08:00
md-bitmap.c md/bitmap: fix GPF in write_page caused by resize race 2026-01-26 13:36:06 +08:00
md-bitmap.h md/md-llbitmap: introduce new lockless bitmap 2025-09-06 17:27:51 +08:00
md-cluster.c md-cluster: fix NULL pointer dereference in process_metadata_update 2026-01-26 13:36:08 +08:00
md-cluster.h md: switch md-cluster to use md_submodle_head 2025-03-05 00:28:39 +08:00
md-linear.c md: allow configuring logical block size 2025-11-11 11:20:15 +08:00
md-llbitmap.c md/md-llbitmap: fix percpu_ref not resurrected on suspend timeout 2026-01-26 13:25:31 +08:00
md.c md raid: fix hang when stopping arrays with metadata through dm-raid 2026-01-26 13:46:40 +08:00
md.h md: fix return value of mddev_trylock 2026-02-02 15:39:55 +08:00
raid0.c md: merge mddev serialize_policy into mddev_flags 2026-01-26 13:10:51 +08:00
raid0.h
raid1-10.c md/raid5: use mempool to allocate stripe_request_ctx 2026-01-26 13:11:29 +08:00
raid1.c md/raid1: fix memory leak in raid1_run() 2026-02-02 15:35:03 +08:00
raid1.h md: remove recovery_disabled 2026-01-26 13:17:38 +08:00
raid5-cache.c md/raid5: remove redundant __GFP_NOWARN 2025-11-08 17:49:36 +08:00
raid5-log.h
raid5-ppl.c md: rename recovery_cp to resync_offset 2025-07-31 01:26:04 +08:00
raid5.c md/raid5: fix IO hang with degraded array with llbitmap 2026-01-26 13:18:59 +08:00
raid5.h md: remove recovery_disabled 2026-01-26 13:17:38 +08:00
raid10.c md: remove recovery_disabled 2026-01-26 13:17:38 +08:00
raid10.h md: remove recovery_disabled 2026-01-26 13:17:38 +08:00