xfs
[Top] [All Lists]

Re: [PATCH 6/5] mkfs: factor finobt changes into min log size when forma

To: "Darrick J. Wong" <darrick.wong@xxxxxxxxxx>
Subject: Re: [PATCH 6/5] mkfs: factor finobt changes into min log size when formatting
From: Brian Foster <bfoster@xxxxxxxxxx>
Date: Mon, 1 Feb 2016 10:18:56 -0500
Cc: david@xxxxxxxxxxxxx, xfs@xxxxxxxxxxx
Delivered-to: xfs@xxxxxxxxxxx
In-reply-to: <20160127044448.GA20038@xxxxxxxxxxxxxxxx>
References: <20160123003502.2475.99558.stgit@xxxxxxxxxxxxxxxx> <20160127044448.GA20038@xxxxxxxxxxxxxxxx>
User-agent: Mutt/1.5.24 (2015-08-30)
On Tue, Jan 26, 2016 at 08:44:48PM -0800, Darrick J. Wong wrote:
> Since the finobt affects the size of the log reservations, we need to
> be able to include its effects in the calculation of the minimum log
> size.
> 
> (Not really a problem now, but adding rmapbt will give this one some
> bite.)
> 
> Signed-off-by: Darrick J. Wong <darrick.wong@xxxxxxxxxx>
> ---

Reviewed-by: Brian Foster <bfoster@xxxxxxxxxx>

>  mkfs/maxtrres.c |    5 ++++-
>  mkfs/xfs_mkfs.c |    2 +-
>  mkfs/xfs_mkfs.h |    2 +-
>  3 files changed, 6 insertions(+), 3 deletions(-)
> 
> diff --git a/mkfs/maxtrres.c b/mkfs/maxtrres.c
> index e1d5ee9..b97d020 100644
> --- a/mkfs/maxtrres.c
> +++ b/mkfs/maxtrres.c
> @@ -36,7 +36,8 @@ max_trans_res(
>       int             inodelog,
>       int             dirblocklog,
>       int             logversion,
> -     int             log_sunit)
> +     int             log_sunit,
> +     int             finobt)
>  {
>       xfs_sb_t        *sbp;
>       xfs_mount_t     mount;
> @@ -68,6 +69,8 @@ max_trans_res(
>                       (dirversion == 2 ? XFS_SB_VERSION_DIRV2BIT : 0) |
>                       (logversion > 1 ? XFS_SB_VERSION_LOGV2BIT : 0) |
>                       XFS_DFL_SB_VERSION_BITS;
> +     if (finobt)
> +             sbp->sb_features_ro_compat |= XFS_SB_FEAT_RO_COMPAT_FINOBT;
>  
>       libxfs_mount(&mount, sbp, 0,0,0,0);
>       maxfsb = xfs_log_calc_minimum_size(&mount);
> diff --git a/mkfs/xfs_mkfs.c b/mkfs/xfs_mkfs.c
> index 700d12c..4c3a802 100644
> --- a/mkfs/xfs_mkfs.c
> +++ b/mkfs/xfs_mkfs.c
> @@ -2406,7 +2406,7 @@ an AG size that is one stripe unit smaller, for example 
> %llu.\n"),
>  
>       min_logblocks = max_trans_res(crcs_enabled, dirversion,
>                                  sectorlog, blocklog, inodelog, dirblocklog,
> -                                logversion, lsunit);
> +                                logversion, lsunit, finobt);
>       ASSERT(min_logblocks);
>       min_logblocks = MAX(XFS_MIN_LOG_BLOCKS, min_logblocks);
>       if (!logsize && dblocks >= (1024*1024*1024) >> blocklog)
> diff --git a/mkfs/xfs_mkfs.h b/mkfs/xfs_mkfs.h
> index 9df5f37..128068e 100644
> --- a/mkfs/xfs_mkfs.h
> +++ b/mkfs/xfs_mkfs.h
> @@ -84,6 +84,6 @@ extern void res_failed (int err);
>  /* maxtrres.c */
>  extern int max_trans_res (int crcs_enabled, int dirversion,
>               int sectorlog, int blocklog, int inodelog, int dirblocklog,
> -             int logversion, int log_sunit);
> +             int logversion, int log_sunit, int finobt);
>  
>  #endif       /* __XFS_MKFS_H__ */
> 
> _______________________________________________
> xfs mailing list
> xfs@xxxxxxxxxxx
> http://oss.sgi.com/mailman/listinfo/xfs

<Prev in Thread] Current Thread [Next in Thread>
  • Re: [PATCH 6/5] mkfs: factor finobt changes into min log size when formatting, Brian Foster <=