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

Hi Linus,

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

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

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

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

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

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

- blk-iocost flush cost support and zone append accounting

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

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

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

- Store GPT attributes as a raw value

- Remove support for swapping loop fds

- Various other fixes and cleanups all over

Please pull!


The following changes since commit df2908090cda368b01ff43709f51890076c56157:

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

are available in the Git repository at:

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

for you to fetch changes up to 40d070cbb1906896d6fd65c39722d2411830ed9f:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

-- 
Jens Axboe


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

* Re: [GIT PULL] Block updates for 7.4-rc
  2026-10-21 14:43 [GIT PULL] Block updates for 7.4-rc Jens Axboe
@ 2026-10-21 15:10 ` Jens Axboe
  2026-10-25  0:18   ` Linus Torvalds
  2026-10-25  0:20 ` pr-tracker-bot
  1 sibling, 1 reply; 5+ messages in thread
From: Jens Axboe @ 2026-10-21 15:10 UTC (permalink / raw)
  To: Linus Torvalds; +Cc: linux-block@vger.kernel.org

On 10/21/26 8:43 AM, Jens Axboe wrote:
> Hi Linus,
> 
> Here are the block updates and fixes queued up for the 7.4 merge
> window. This pull request contains:

Completely forgot to mention that this merge will throw conflicts. Both
block/bio.c and block/blk-zoned.c will need resolving. Details:

bio.c hits bounce-buffering changes already in your tree. The resolution
keeps the maxlen parameter, uses the atomic-write failure path, and
keeps the multi-page unpinning in align_down() - which loses the bvec
argument it grew here, as it derives that internally again.

blk-zoned.c is Damien's zone revalidation rework colliding with the zone
report fixes that went in during 7.3.

Resolved as below, which matches what I've had in linux-next for a
while:

diff --cc block/bio.c
index b48091c7663f,41d9f1c5992d..06f805d3866a
--- a/block/bio.c
+++ b/block/bio.c
@@@ -1223,10 -1218,10 +1238,11 @@@ static void bvec_unpin(struct bio_vec *
   * for the next iteration.
   */
  static int bio_iov_iter_align_down(struct bio *bio, struct iov_iter *iter,
 -				   struct bio_vec *bv, unsigned len_align_mask)
 +				   unsigned len_align_mask)
  {
 +	struct bio_vec *bv = &bio->bi_io_vec[bio->bi_vcnt - 1];
  	size_t nbytes = bio->bi_iter.bi_size & len_align_mask;
+ 	unsigned int npages;

  	if (!nbytes)
  		return 0;
@@@ -1304,10 -1308,11 +1330,12 @@@ static inline bool bio_iov_bvec_aligned
   * is returned only if 0 pages could be pinned.
   */
  int bio_iov_iter_get_pages(struct bio *bio, struct iov_iter *iter,
 -			   unsigned mem_align_mask, unsigned len_align_mask)
 +			   unsigned maxlen, unsigned mem_align_mask,
 +			   unsigned len_align_mask)
  {
  	iov_iter_extraction_t flags = 0;
+ 	struct iov_iter saved_iter;
+ 	int ret;

  	if (WARN_ON_ONCE(bio_flagged(bio, BIO_CLONED)))
  		return -EIO;
@@@ -1328,34 -1331,50 +1356,49 @@@
  	if (bio->bi_bdev && blk_queue_pci_p2pdma(bio->bi_bdev->bd_disk->queue))
  		flags |= ITER_ALLOW_P2PDMA;

+ 	saved_iter = *iter;
  	do {
- 		ssize_t ret;
+ 		ssize_t size;

- 		ret = iov_iter_extract_bvecs(iter, bio->bi_io_vec,
+ 		size = iov_iter_extract_bvecs(iter, bio->bi_io_vec,
 -				BIO_MAX_SIZE - bio->bi_iter.bi_size,
 +				maxlen - bio->bi_iter.bi_size,
  				&bio->bi_vcnt, bio->bi_max_vecs,
  				mem_align_mask, flags);
- 		if (ret <= 0) {
- 			/*
- 			 * A misaligned vector fails the whole I/O.  Release any
- 			 * pages pinned by earlier iterations before returning
- 			 * since this bio won't be submitted to release them.
- 			 */
- 			if (ret == -EINVAL) {
- 				bio_release_pages(bio, false);
- 				bio_clear_flag(bio, BIO_PAGE_PINNED);
- 				bio->bi_vcnt = 0;
- 			}
+ 		if (size <= 0) {
+ 			/* A misaligned vector fails the whole I/O */
+ 			if (size == -EINVAL)
+ 				goto out_release_pages;
  			if (!bio->bi_vcnt)
- 				return ret;
+ 				return size;
  			break;
  		}
- 		bio->bi_iter.bi_size += ret;
+ 		bio->bi_iter.bi_size += size;
  	} while (iov_iter_count(iter) && !bio_full(bio, 0));

  	if (is_pci_p2pdma_page(bio->bi_io_vec->bv_page))
  		bio->bi_opf |= REQ_NOMERGE;
- 	return bio_iov_iter_align_down(bio, iter, len_align_mask);
 -	ret = bio_iov_iter_align_down(bio, iter,
 -			&bio->bi_io_vec[bio->bi_vcnt - 1], len_align_mask);
++	ret = bio_iov_iter_align_down(bio, iter, len_align_mask);
+ 	if (ret)
+ 		return ret;
+
+ 	/*
+ 	 * An atomic write is submitted as a single bio, so it has to cover
+ 	 * the whole iterator or it would be torn.
+ 	 */
+ 	if ((bio->bi_opf & REQ_ATOMIC) && iov_iter_count(iter))
+ 		goto out_release_pages;
+ 	return 0;
+
+ out_release_pages:
+ 	/*
+ 	 * Release the pages pinned so far before failing, since this bio won't
+ 	 * be submitted to release them.
+ 	 */
+ 	bio_release_pages(bio, false);
+ 	bio_clear_flag(bio, BIO_PAGE_PINNED);
+ 	bio->bi_vcnt = 0;
+ 	*iter = saved_iter;
+ 	return -EINVAL;
  }

diff --cc block/blk-zoned.c
index 475aa16bc41a,ec510d66dfe2..d8688a3d8314
--- a/block/blk-zoned.c
+++ b/block/blk-zoned.c
@@@ -1860,6 -2028,16 +2028,21 @@@ void disk_init_zone_resources(struct ge
  	init_completion(&disk->zone_wplugs_worker_bio_done);
  }

+ static unsigned int disk_get_nr_zones(struct gendisk *disk, sector_t capacity)
+ {
+ 	struct queue_limits *lim = &disk->queue->limits;
++	unsigned long long nr_zones;
+
+ 	if (!capacity || !lim->chunk_sectors)
+ 		return 0;
+
 -	return DIV_ROUND_UP_ULL(capacity, lim->chunk_sectors);
++	nr_zones = DIV_ROUND_UP_ULL(capacity, lim->chunk_sectors);
++	if (nr_zones > UINT_MAX)
++		return 0;
++
++	return nr_zones;
+ }
+
  /*
   * For the size of a disk zone write plug hash table, use the size of the
   * zone write plug mempool, which is the maximum of the disk open zones and
@@@ -2014,46 -2192,18 +2197,20 @@@ struct blk_revalidate_zone_args
  	sector_t	sector;
  };

- static int disk_revalidate_zone_resources(struct gendisk *disk,
- 				struct blk_revalidate_zone_args *args)
+ static int disk_init_revalidate_args(struct gendisk *disk,
+ 				     struct blk_revalidate_zone_args *args)
  {
- 	struct queue_limits *lim = &disk->queue->limits;
- 	unsigned long long nr_zones;
- 	unsigned int pool_size;
- 	int ret = 0;
-
  	args->disk = disk;
- 	nr_zones = DIV_ROUND_UP_ULL(get_capacity(disk), lim->chunk_sectors);
- 	if (nr_zones > UINT_MAX) {
- 		pr_warn("%s: Too many zones (%llu)\n", disk->disk_name, nr_zones);
- 		return -EINVAL;
- 	}
- 	args->nr_zones = nr_zones;
+ 	args->nr_zones = disk_get_nr_zones(disk, args->capacity);
++	if (!args->nr_zones)
++		return -ENODEV;

  	/* Cached zone conditions: 1 byte per zone */
- 	args->zones_cond = kzalloc(args->nr_zones, GFP_NOIO);
- 	if (!args->zones_cond)
+ 	args->zones_state = kzalloc(args->nr_zones, GFP_NOIO);
+ 	if (!args->zones_state)
  		return -ENOMEM;

- 	if (!disk_need_zone_resources(disk))
- 		return 0;
-
- 	/*
- 	 * If the device has no limit on the maximum number of open and active
- 	 * zones, use BLK_ZONE_WPLUG_DEFAULT_POOL_SIZE.
- 	 */
- 	pool_size = max(lim->max_open_zones, lim->max_active_zones);
- 	if (!pool_size)
- 		pool_size =
- 			min(BLK_ZONE_WPLUG_DEFAULT_POOL_SIZE, args->nr_zones);
-
- 	if (!disk->zone_wplugs_hash) {
- 		ret = disk_alloc_zone_resources(disk, pool_size);
- 		if (ret)
- 			kfree(args->zones_cond);
- 	}
-
- 	return ret;
+ 	return 0;
  }

  /*

-- 
Jens Axboe

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

* Re: [GIT PULL] Block updates for 7.4-rc
  2026-10-21 15:10 ` Jens Axboe
@ 2026-10-25  0:18   ` Linus Torvalds
  2026-10-25  3:09     ` Jens Axboe
  0 siblings, 1 reply; 5+ messages in thread
From: Linus Torvalds @ 2026-10-25  0:18 UTC (permalink / raw)
  To: Jens Axboe; +Cc: linux-block@vger.kernel.org

On Wed, 21 Oct 2026 at 05:11, Jens Axboe <axboe@kernel.dk> wrote:
>
> On 10/21/26 8:43 AM, Jens Axboe wrote:
> > Hi Linus,
> >
> > Here are the block updates and fixes queued up for the 7.4 merge
> > window. This pull request contains:
>
> Completely forgot to mention that this merge will throw conflicts. Both
> block/bio.c and block/blk-zoned.c will need resolving. Details:

Bah. My resolution ended up being different. But I think mine isn't
actively wrong, and keeps some of the warnings.

Holler if you hate it. Or if I just plain screwed up.

             Linus

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

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

The pull request you sent on Wed, 21 Oct 2026 08:43:33 -0600:

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

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

Thank you!

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

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

* Re: [GIT PULL] Block updates for 7.4-rc
  2026-10-25  0:18   ` Linus Torvalds
@ 2026-10-25  3:09     ` Jens Axboe
  0 siblings, 0 replies; 5+ messages in thread
From: Jens Axboe @ 2026-10-25  3:09 UTC (permalink / raw)
  To: Linus Torvalds; +Cc: linux-block@vger.kernel.org

On 10/24/26 6:18 PM, Linus Torvalds wrote:
> On Wed, 21 Oct 2026 at 05:11, Jens Axboe <axboe@kernel.dk> wrote:
>>
>> On 10/21/26 8:43 AM, Jens Axboe wrote:
>>> Hi Linus,
>>>
>>> Here are the block updates and fixes queued up for the 7.4 merge
>>> window. This pull request contains:
>>
>> Completely forgot to mention that this merge will throw conflicts. Both
>> block/bio.c and block/blk-zoned.c will need resolving. Details:
> 
> Bah. My resolution ended up being different. But I think mine isn't
> actively wrong, and keeps some of the warnings.
> 
> Holler if you hate it. Or if I just plain screwed up.

Looks fine to me - bio one is the same, and the blk-zoned.c looks OK to
me - you kept the pr_warn() and a check that blk_zstate_set() covers,
but that's fine. Thanks!

-- 
Jens Axboe

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

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

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

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