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 02/45] FIXUP: xfs: generalize the freespace and reserved blocks handling
Date: Wed, 9 Apr 2025 08:32:21 -0700 [thread overview]
Message-ID: <20250409153221.GS6283@frogsfrogsfrogs> (raw)
In-Reply-To: <20250409075557.3535745-3-hch@lst.de>
On Wed, Apr 09, 2025 at 09:55:05AM +0200, Christoph Hellwig wrote:
> Signed-off-by: Christoph Hellwig <hch@lst.de>
Looks ok,
Reviewed-by: "Darrick J. Wong" <djwong@kernel.org>
--D
> ---
> include/xfs_mount.h | 32 ++++++++++++++++++++++++++++++--
> libxfs/libxfs_priv.h | 13 +------------
> 2 files changed, 31 insertions(+), 14 deletions(-)
>
> diff --git a/include/xfs_mount.h b/include/xfs_mount.h
> index 383cba7d6e3f..e0f72fc32b25 100644
> --- a/include/xfs_mount.h
> +++ b/include/xfs_mount.h
> @@ -63,8 +63,6 @@ typedef struct xfs_mount {
> xfs_sb_t m_sb; /* copy of fs superblock */
> #define m_icount m_sb.sb_icount
> #define m_ifree m_sb.sb_ifree
> -#define m_fdblocks m_sb.sb_fdblocks
> -#define m_frextents m_sb.sb_frextents
> spinlock_t m_sb_lock;
>
> /*
> @@ -332,6 +330,36 @@ static inline bool xfs_is_ ## name (struct xfs_mount *mp) \
> __XFS_UNSUPP_OPSTATE(readonly)
> __XFS_UNSUPP_OPSTATE(shutdown)
>
> +static inline int64_t xfs_sum_freecounter(struct xfs_mount *mp,
> + enum xfs_free_counter ctr)
> +{
> + if (ctr == XC_FREE_RTEXTENTS)
> + return mp->m_sb.sb_frextents;
> + return mp->m_sb.sb_fdblocks;
> +}
> +
> +static inline int64_t xfs_estimate_freecounter(struct xfs_mount *mp,
> + enum xfs_free_counter ctr)
> +{
> + return xfs_sum_freecounter(mp, ctr);
> +}
> +
> +static inline int xfs_compare_freecounter(struct xfs_mount *mp,
> + enum xfs_free_counter ctr, int64_t rhs, int32_t batch)
> +{
> + uint64_t count;
> +
> + if (ctr == XC_FREE_RTEXTENTS)
> + count = mp->m_sb.sb_frextents;
> + else
> + count = mp->m_sb.sb_fdblocks;
> + if (count > rhs)
> + return 1;
> + else if (count < rhs)
> + return -1;
> + return 0;
> +}
> +
> /* don't fail on device size or AG count checks */
> #define LIBXFS_MOUNT_DEBUGGER (1U << 0)
> /* report metadata corruption to stdout */
> diff --git a/libxfs/libxfs_priv.h b/libxfs/libxfs_priv.h
> index 7e5c125b581a..cb4800de0b11 100644
> --- a/libxfs/libxfs_priv.h
> +++ b/libxfs/libxfs_priv.h
> @@ -209,7 +209,7 @@ static inline bool WARN_ON(bool expr) {
> }
>
> #define WARN_ON_ONCE(e) WARN_ON(e)
> -#define percpu_counter_read(x) (*x)
> +
> #define percpu_counter_read_positive(x) ((*x) > 0 ? (*x) : 0)
> #define percpu_counter_sum_positive(x) ((*x) > 0 ? (*x) : 0)
>
> @@ -219,17 +219,6 @@ uint32_t get_random_u32(void);
> #define get_random_u32() (0)
> #endif
>
> -static inline int
> -__percpu_counter_compare(uint64_t *count, int64_t rhs, int32_t batch)
> -{
> - if (*count > rhs)
> - return 1;
> - else if (*count < rhs)
> - return -1;
> - return 0;
> -}
> -
> -
> #define PAGE_SIZE getpagesize()
> extern unsigned int PAGE_SHIFT;
>
> --
> 2.47.2
>
>
next prev parent reply other threads:[~2025-04-09 15:32 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 [this message]
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
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=20250409153221.GS6283@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