[PATCH v2] xfs: store rmapbt block count in the AGF
Christoph Hellwig
hch at infradead.org
Thu Aug 4 10:44:39 CDT 2016
On Wed, Aug 03, 2016 at 02:46:13PM -0700, Darrick J. Wong wrote:
> Track the number of blocks used for the rmapbt in the AGF. When we
> get to the AG reservation code we need this counter to quickly
> make our reservation during mount.
>
> v2: Actually include growfs support.
>
> Signed-off-by: Darrick J. Wong <darrick.wong at oracle.com>
> ---
> fs/xfs/libxfs/xfs_alloc.c | 1 +
> fs/xfs/libxfs/xfs_format.h | 11 ++++++++---
> fs/xfs/libxfs/xfs_rmap_btree.c | 6 ++++++
> fs/xfs/xfs_fsops.c | 1 +
> 4 files changed, 16 insertions(+), 3 deletions(-)
>
> diff --git a/fs/xfs/libxfs/xfs_alloc.c b/fs/xfs/libxfs/xfs_alloc.c
> index 776ae2f..af1a72e 100644
> --- a/fs/xfs/libxfs/xfs_alloc.c
> +++ b/fs/xfs/libxfs/xfs_alloc.c
> @@ -2264,6 +2264,7 @@ xfs_alloc_log_agf(
> offsetof(xfs_agf_t, agf_longest),
> offsetof(xfs_agf_t, agf_btreeblks),
> offsetof(xfs_agf_t, agf_uuid),
> + offsetof(xfs_agf_t, agf_rmap_blocks),
> sizeof(xfs_agf_t)
> };
>
> diff --git a/fs/xfs/libxfs/xfs_format.h b/fs/xfs/libxfs/xfs_format.h
> index f814d42..e6a8bea 100644
> --- a/fs/xfs/libxfs/xfs_format.h
> +++ b/fs/xfs/libxfs/xfs_format.h
> @@ -640,12 +640,15 @@ typedef struct xfs_agf {
> __be32 agf_btreeblks; /* # of blocks held in AGF btrees */
> uuid_t agf_uuid; /* uuid of filesystem */
>
> + __be32 agf_rmap_blocks; /* rmapbt blocks used */
> + __be32 agf_padding; /* padding */
Now _spare? It could easily be used by the next new field.
Otherwise this looks fine to me:
Reviewed-by: Christoph Hellwig <hch at lst.de>
More information about the xfs
mailing list