From: "Darrick J. Wong" <djwong@kernel.org>
To: Christoph Hellwig <hch@lst.de>
Cc: Andrey Albershteyn <aalbersh@kernel.org>,
Hans Holmberg <hans.holmberg@wdc.com>,
linux-xfs@vger.kernel.org
Subject: Re: [PATCH 25/45] FIXUP: xfs: support zone gaps
Date: Wed, 9 Apr 2025 08:57:31 -0700 [thread overview]
Message-ID: <20250409155731.GY6283@frogsfrogsfrogs> (raw)
In-Reply-To: <20250409075557.3535745-26-hch@lst.de>
On Wed, Apr 09, 2025 at 09:55:28AM +0200, Christoph Hellwig wrote:
> Signed-off-by: Christoph Hellwig <hch@lst.de>
Makes sense to me
Reviewed-by: "Darrick J. Wong" <djwong@kernel.org>
--D
> ---
> db/convert.c | 6 +++++-
> include/xfs_mount.h | 9 +++++++++
> 2 files changed, 14 insertions(+), 1 deletion(-)
>
> diff --git a/db/convert.c b/db/convert.c
> index 47d3e86fdc4e..3eec4f224f51 100644
> --- a/db/convert.c
> +++ b/db/convert.c
> @@ -44,10 +44,14 @@ xfs_daddr_to_rgno(
> struct xfs_mount *mp,
> xfs_daddr_t daddr)
> {
> + struct xfs_groups *g = &mp->m_groups[XG_TYPE_RTG];
> +
> if (!xfs_has_rtgroups(mp))
> return 0;
>
> - return XFS_BB_TO_FSBT(mp, daddr) / mp->m_groups[XG_TYPE_RTG].blocks;
> + if (g->has_daddr_gaps)
> + return XFS_BB_TO_FSBT(mp, daddr) / (1 << g->blklog);
> + return XFS_BB_TO_FSBT(mp, daddr) / g->blocks;
> }
>
> typedef enum {
> diff --git a/include/xfs_mount.h b/include/xfs_mount.h
> index bf9ebc25fc79..5a714333c16e 100644
> --- a/include/xfs_mount.h
> +++ b/include/xfs_mount.h
> @@ -47,6 +47,15 @@ struct xfs_groups {
> */
> uint8_t blklog;
>
> + /*
> + * Zoned devices can have gaps beyoned the usable capacity of a zone
> + * and the end in the LBA/daddr address space. In other words, the
> + * hardware equivalent to the RT groups already takes care of the power
> + * of 2 alignment for us. In this case the sparse FSB/RTB address space
> + * maps 1:1 to the device address space.
> + */
> + bool has_daddr_gaps;
> +
> /*
> * Mask to extract the group-relative block number from a FSB.
> * For a pre-rtgroups filesystem we pretend to have one very large
> --
> 2.47.2
>
>
next prev parent reply other threads:[~2025-04-09 15:57 UTC|newest]
Thread overview: 95+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-04-09 7:55 xfsprogs support for zoned devices Christoph Hellwig
2025-04-09 7:55 ` [PATCH 01/45] xfs: generalize the freespace and reserved blocks handling Christoph Hellwig
2025-04-09 7:55 ` [PATCH 02/45] FIXUP: " Christoph Hellwig
2025-04-09 15:32 ` Darrick J. Wong
2025-04-09 7:55 ` [PATCH 03/45] xfs: make metabtree reservations global Christoph Hellwig
2025-04-09 7:55 ` [PATCH 04/45] FIXUP: " Christoph Hellwig
2025-04-09 15:43 ` Darrick J. Wong
2025-04-10 6:00 ` Christoph Hellwig
2025-04-09 7:55 ` [PATCH 05/45] xfs: reduce metafile reservations Christoph Hellwig
2025-04-09 7:55 ` [PATCH 06/45] xfs: add a rtg_blocks helper Christoph Hellwig
2025-04-09 7:55 ` [PATCH 07/45] xfs: move xfs_bmapi_reserve_delalloc to xfs_iomap.c Christoph Hellwig
2025-04-09 7:55 ` [PATCH 08/45] xfs: support XFS_BMAPI_REMAP in xfs_bmap_del_extent_delay Christoph Hellwig
2025-04-09 7:55 ` [PATCH 09/45] xfs: add a xfs_rtrmap_highest_rgbno helper Christoph Hellwig
2025-04-09 7:55 ` [PATCH 10/45] xfs: define the zoned on-disk format Christoph Hellwig
2025-04-09 7:55 ` [PATCH 11/45] FIXUP: " Christoph Hellwig
2025-04-09 15:47 ` Darrick J. Wong
2025-04-09 16:04 ` Darrick J. Wong
2025-04-10 6:01 ` Christoph Hellwig
2025-04-10 16:31 ` Darrick J. Wong
2025-04-09 7:55 ` [PATCH 12/45] xfs: allow internal RT devices for zoned mode Christoph Hellwig
2025-04-09 7:55 ` [PATCH 13/45] FIXUP: " Christoph Hellwig
2025-04-09 15:55 ` Darrick J. Wong
2025-04-10 6:09 ` Christoph Hellwig
2025-04-09 7:55 ` [PATCH 14/45] xfs: export zoned geometry via XFS_FSOP_GEOM Christoph Hellwig
2025-04-09 7:55 ` [PATCH 15/45] xfs: disable sb_frextents for zoned file systems Christoph Hellwig
2025-04-09 7:55 ` [PATCH 16/45] xfs: parse and validate hardware zone information Christoph Hellwig
2025-04-09 7:55 ` [PATCH 17/45] FIXUP: " Christoph Hellwig
2025-04-09 15:56 ` Darrick J. Wong
2025-04-09 7:55 ` [PATCH 18/45] xfs: add the zoned space allocator Christoph Hellwig
2025-04-09 7:55 ` [PATCH 19/45] xfs: add support for zoned space reservations Christoph Hellwig
2025-04-09 7:55 ` [PATCH 20/45] FIXUP: " Christoph Hellwig
2025-04-09 15:56 ` Darrick J. Wong
2025-04-09 7:55 ` [PATCH 21/45] xfs: implement zoned garbage collection Christoph Hellwig
2025-04-09 7:55 ` [PATCH 22/45] xfs: enable fsmap reporting for internal RT devices Christoph Hellwig
2025-04-09 7:55 ` [PATCH 23/45] xfs: enable the zoned RT device feature Christoph Hellwig
2025-04-09 7:55 ` [PATCH 24/45] xfs: support zone gaps Christoph Hellwig
2025-04-09 7:55 ` [PATCH 25/45] FIXUP: " Christoph Hellwig
2025-04-09 15:57 ` Darrick J. Wong [this message]
2025-04-09 7:55 ` [PATCH 26/45] libfrog: report the zoned flag Christoph Hellwig
2025-04-09 15:58 ` Darrick J. Wong
2025-04-10 6:14 ` Christoph Hellwig
2025-04-10 16:36 ` Darrick J. Wong
2025-04-09 7:55 ` [PATCH 27/45] xfs_repair: support repairing zoned file systems Christoph Hellwig
2025-04-09 16:10 ` Darrick J. Wong
2025-04-10 6:27 ` Christoph Hellwig
2025-04-10 16:41 ` Darrick J. Wong
2025-04-09 7:55 ` [PATCH 28/45] xfs_repair: fix the RT device check in process_dinode_int Christoph Hellwig
2025-04-09 16:11 ` Darrick J. Wong
2025-04-10 6:29 ` Christoph Hellwig
2025-04-09 7:55 ` [PATCH 29/45] xfs_repair: validate rt groups vs reported hardware zones Christoph Hellwig
2025-04-09 18:41 ` Darrick J. Wong
2025-04-10 6:34 ` Christoph Hellwig
2025-04-10 16:43 ` Darrick J. Wong
2025-04-09 7:55 ` [PATCH 30/45] xfs_mkfs: support creating zoned file systems Christoph Hellwig
2025-04-09 18:54 ` Darrick J. Wong
2025-04-10 6:45 ` Christoph Hellwig
2025-04-10 16:45 ` Darrick J. Wong
2025-04-09 7:55 ` [PATCH 31/45] xfs_mkfs: calculate zone overprovisioning when specifying size Christoph Hellwig
2025-04-09 19:06 ` Darrick J. Wong
2025-04-10 7:00 ` Christoph Hellwig
2025-04-09 7:55 ` [PATCH 32/45] xfs_mkfs: default to rtinherit=1 for zoned file systems Christoph Hellwig
2025-04-09 18:59 ` Darrick J. Wong
2025-04-10 6:45 ` Christoph Hellwig
2025-04-09 7:55 ` [PATCH 33/45] xfs_mkfs: reflink conflicts with zoned file systems for now Christoph Hellwig
2025-04-09 19:00 ` Darrick J. Wong
2025-04-10 6:46 ` Christoph Hellwig
2025-04-10 16:47 ` Darrick J. Wong
2025-04-09 7:55 ` [PATCH 34/45] xfs_mkfs: document the new zoned options in the man page Christoph Hellwig
2025-04-09 19:00 ` Darrick J. Wong
2025-04-09 7:55 ` [PATCH 35/45] libfrog: report the zoned geometry Christoph Hellwig
2025-04-09 19:01 ` Darrick J. Wong
2025-04-10 7:02 ` Christoph Hellwig
2025-04-09 7:55 ` [PATCH 36/45] man: document XFS_FSOP_GEOM_FLAGS_ZONED Christoph Hellwig
2025-04-09 19:13 ` Darrick J. Wong
2025-04-10 6:53 ` Christoph Hellwig
2025-04-10 16:47 ` Darrick J. Wong
2025-04-09 7:55 ` [PATCH 37/45] xfs_io: correctly report RGs with internal rt dev in bmap output Christoph Hellwig
2025-04-09 22:22 ` Darrick J. Wong
2025-04-09 7:55 ` [PATCH 38/45] xfs_io: don't re-query fs_path information in fsmap_f Christoph Hellwig
2025-04-09 20:48 ` Darrick J. Wong
2025-04-09 7:55 ` [PATCH 39/45] xfs_io: don't re-query geometry " Christoph Hellwig
2025-04-09 20:46 ` Darrick J. Wong
2025-04-09 7:55 ` [PATCH 40/45] xfs_io: handle internal RT devices in fsmap output Christoph Hellwig
2025-04-09 21:48 ` Darrick J. Wong
2025-04-09 7:55 ` [PATCH 41/45] xfs_spaceman: handle internal RT devices Christoph Hellwig
2025-04-09 19:29 ` Darrick J. Wong
2025-04-09 7:55 ` [PATCH 42/45] xfs_scrub: support internal RT sections Christoph Hellwig
2025-04-09 19:30 ` Darrick J. Wong
2025-04-10 6:57 ` Christoph Hellwig
2025-04-09 7:55 ` [PATCH 43/45] xfs_scrub: handle internal RT devices Christoph Hellwig
2025-04-09 19:34 ` Darrick J. Wong
2025-04-09 7:55 ` [PATCH 44/45] xfs_mdrestore: support " Christoph Hellwig
2025-04-09 19:36 ` Darrick J. Wong
2025-04-09 7:55 ` [PATCH 45/45] xfs_growfs: " Christoph Hellwig
2025-04-09 19:35 ` Darrick J. Wong
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=20250409155731.GY6283@frogsfrogsfrogs \
--to=djwong@kernel.org \
--cc=aalbersh@kernel.org \
--cc=hans.holmberg@wdc.com \
--cc=hch@lst.de \
--cc=linux-xfs@vger.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