From: Damien Le Moal <dlemoal@kernel.org>
To: Jens Axboe <axboe@kernel.dk>,
linux-block@vger.kernel.org, linux-nvme@lists.infradead.org,
Keith Busch <keith.busch@wdc.com>, Christoph Hellwig <hch@lst.de>,
dm-devel@lists.linux.dev, Mike Snitzer <snitzer@kernel.org>,
Mikulas Patocka <mpatocka@redhat.com>,
"Martin K . Petersen" <martin.petersen@oracle.com>,
linux-scsi@vger.kernel.org, linux-xfs@vger.kernel.org,
Carlos Maiolino <cem@kernel.org>,
linux-btrfs@vger.kernel.org, David Sterba <dsterba@suse.com>
Subject: [PATCH 00/13] Introduce cached report zones
Date: Fri, 31 Oct 2025 15:12:54 +0900 [thread overview]
Message-ID: <20251031061307.185513-1-dlemoal@kernel.org> (raw)
The patch series implements a cached report zones using information from
the block layer zone write plugs and a new zone condition tracking. This
avoids having to execute slow report zones commands on the device when
for instance mounting file systems, which can significantly speed things
up, especially in setups with multiple SMR HDDs (e.g. a RAID volume).
The first patch improves zone resource updates. The following 3 patches
cleanup and improve handling of zone reports and of other zone
management operations. From patch 5 to 10, cached report zones in
implemented and made available to users with a new ioctl() command.
Finally, patches 12 and 13 introduce the use of cached report zones in
the mount operation of XFS and BTRFS.
These patches are against Jen's for-next tree.
Damien Le Moal (13):
block: freeze queue when updating zone resources
block: cleanup blkdev_report_zones()
block: handle zone management operations completions
block: introduce disk_report_zone()
block: reorganize struct blk_zone_wplug
block: use zone condition to determine conventional zones
block: track zone conditions
block: introduce blkdev_get_zone_info()
block: introduce blkdev_report_zones_cached()
block: introduce BLKREPORTZONESV2 ioctl
block: add zone write plug condition to debugfs zone_wplugs
btrfs: use blkdev_report_zones_cached()
xfs: use blkdev_report_zones_cached()
block/blk-zoned.c | 762 ++++++++++++++++++++++++------
block/blk.h | 14 +
block/ioctl.c | 1 +
drivers/block/null_blk/null_blk.h | 3 +-
drivers/block/null_blk/zoned.c | 4 +-
drivers/block/ublk_drv.c | 4 +-
drivers/block/virtio_blk.c | 11 +-
drivers/block/zloop.c | 4 +-
drivers/md/dm-zone.c | 54 ++-
drivers/md/dm.h | 3 +-
drivers/nvme/host/core.c | 5 +-
drivers/nvme/host/multipath.c | 4 +-
drivers/nvme/host/nvme.h | 2 +-
drivers/nvme/host/zns.c | 10 +-
drivers/scsi/sd.h | 2 +-
drivers/scsi/sd_zbc.c | 17 +-
fs/btrfs/zoned.c | 11 +-
fs/xfs/xfs_zone_alloc.c | 2 +-
include/linux/blkdev.h | 44 +-
include/linux/device-mapper.h | 10 +-
include/uapi/linux/blkzoned.h | 36 +-
include/uapi/linux/fs.h | 2 +-
22 files changed, 746 insertions(+), 259 deletions(-)
base-commit: ba6a8208cc205c6545c610b5863ea89466fc486a
--
2.51.0
next reply other threads:[~2025-10-31 6:17 UTC|newest]
Thread overview: 63+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-10-31 6:12 Damien Le Moal [this message]
2025-10-31 6:12 ` [PATCH 01/13] block: freeze queue when updating zone resources Damien Le Moal
2025-10-31 8:44 ` Christoph Hellwig
2025-10-31 17:48 ` Bart Van Assche
2025-11-03 5:55 ` Damien Le Moal
2025-11-03 7:18 ` Daniel Vacek
2025-11-03 7:23 ` Damien Le Moal
2025-11-03 7:30 ` Damien Le Moal
2025-11-03 11:17 ` Hannes Reinecke
2025-10-31 6:12 ` [PATCH 02/13] block: cleanup blkdev_report_zones() Damien Le Moal
2025-10-31 8:45 ` Christoph Hellwig
2025-10-31 17:55 ` Bart Van Assche
2025-11-03 11:15 ` Hannes Reinecke
2025-10-31 6:12 ` [PATCH 03/13] block: handle zone management operations completions Damien Le Moal
2025-10-31 8:46 ` Christoph Hellwig
2025-10-31 18:01 ` Bart Van Assche
2025-11-03 6:25 ` Damien Le Moal
2025-11-03 11:41 ` Hannes Reinecke
2025-11-03 12:59 ` Damien Le Moal
2025-10-31 6:12 ` [PATCH 04/13] block: introduce disk_report_zone() Damien Le Moal
2025-10-31 8:47 ` Christoph Hellwig
2025-10-31 20:54 ` Bart Van Assche
2025-11-03 5:56 ` Damien Le Moal
2025-10-31 6:12 ` [PATCH 05/13] block: reorganize struct blk_zone_wplug Damien Le Moal
2025-10-31 8:47 ` Christoph Hellwig
2025-10-31 20:55 ` Bart Van Assche
2025-10-31 6:13 ` [PATCH 06/13] block: use zone condition to determine conventional zones Damien Le Moal
2025-10-31 8:48 ` Christoph Hellwig
2025-10-31 21:04 ` Bart Van Assche
2025-11-03 6:00 ` Damien Le Moal
2025-10-31 6:13 ` [PATCH 07/13] block: track zone conditions Damien Le Moal
2025-10-31 8:51 ` Christoph Hellwig
2025-10-31 21:17 ` Bart Van Assche
2025-11-03 6:05 ` Damien Le Moal
2025-11-03 15:48 ` Bart Van Assche
2025-11-03 16:34 ` Chaitanya Kulkarni
2025-11-03 22:53 ` Damien Le Moal
2025-11-04 12:03 ` Christoph Hellwig
2025-11-03 18:31 ` Bart Van Assche
2025-11-03 22:34 ` Damien Le Moal
2025-11-03 22:40 ` Damien Le Moal
2025-10-31 6:13 ` [PATCH 08/13] block: introduce blkdev_get_zone_info() Damien Le Moal
2025-10-31 8:52 ` Christoph Hellwig
2025-10-31 21:40 ` Bart Van Assche
2025-11-03 6:08 ` Damien Le Moal
2025-11-03 10:29 ` Christoph Hellwig
2025-10-31 6:13 ` [PATCH 09/13] block: introduce blkdev_report_zones_cached() Damien Le Moal
2025-10-31 8:53 ` Christoph Hellwig
2025-10-31 21:53 ` Bart Van Assche
2025-11-03 6:12 ` Damien Le Moal
2025-11-03 7:18 ` Damien Le Moal
2025-10-31 6:13 ` [PATCH 10/13] block: introduce BLKREPORTZONESV2 ioctl Damien Le Moal
2025-10-31 8:54 ` Christoph Hellwig
2025-10-31 16:52 ` Bart Van Assche
2025-11-03 5:51 ` Damien Le Moal
2025-11-03 10:23 ` Christoph Hellwig
2025-10-31 6:13 ` [PATCH 11/13] block: add zone write plug condition to debugfs zone_wplugs Damien Le Moal
2025-10-31 8:54 ` Christoph Hellwig
2025-10-31 21:55 ` Bart Van Assche
2025-10-31 6:13 ` [PATCH 12/13] btrfs: use blkdev_report_zones_cached() Damien Le Moal
2025-10-31 19:01 ` David Sterba
2025-10-31 6:13 ` [PATCH 13/13] xfs: " Damien Le Moal
2025-10-31 8:55 ` Christoph Hellwig
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20251031061307.185513-1-dlemoal@kernel.org \
--to=dlemoal@kernel.org \
--cc=axboe@kernel.dk \
--cc=cem@kernel.org \
--cc=dm-devel@lists.linux.dev \
--cc=dsterba@suse.com \
--cc=hch@lst.de \
--cc=keith.busch@wdc.com \
--cc=linux-block@vger.kernel.org \
--cc=linux-btrfs@vger.kernel.org \
--cc=linux-nvme@lists.infradead.org \
--cc=linux-scsi@vger.kernel.org \
--cc=linux-xfs@vger.kernel.org \
--cc=martin.petersen@oracle.com \
--cc=mpatocka@redhat.com \
--cc=snitzer@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).