From: Dave Chinner <david@fromorbit.com>
To: "Darrick J. Wong" <djwong@kernel.org>
Cc: linux-xfs@vger.kernel.org
Subject: Re: [PATCH 2/4] xfs: don't track the AGFL buffer in the scrub AG context
Date: Fri, 14 Oct 2022 09:32:47 +1100 [thread overview]
Message-ID: <20221013223247.GZ3600936@dread.disaster.area> (raw)
In-Reply-To: <166473478879.1083155.7048621417340358108.stgit@magnolia>
On Sun, Oct 02, 2022 at 11:19:48AM -0700, Darrick J. Wong wrote:
> From: Darrick J. Wong <djwong@kernel.org>
>
> While scrubbing an allocation group, we don't need to hold the AGFL
> buffer as part of the scrub context. All that is necessary to lock an
> AG is to hold the AGI and AGF buffers, so fix all the existing users of
> the AGFL buffer to grab them only when necessary.
>
> Signed-off-by: Darrick J. Wong <djwong@kernel.org>
> ---
> fs/xfs/scrub/agheader.c | 47 +++++++++++++++++++++++++---------------
> fs/xfs/scrub/agheader_repair.c | 1 -
> fs/xfs/scrub/common.c | 8 -------
> fs/xfs/scrub/repair.c | 11 +++++----
> fs/xfs/scrub/scrub.h | 1 -
> 5 files changed, 35 insertions(+), 33 deletions(-)
Looks fine.
Reviewed-by: Dave Chinner <dchinner@redhat.com>
> @@ -717,24 +731,21 @@ xchk_agfl(
>
> /* Allocate buffer to ensure uniqueness of AGFL entries. */
> agf = sc->sa.agf_bp->b_addr;
> - agflcount = be32_to_cpu(agf->agf_flcount);
> - if (agflcount > xfs_agfl_size(sc->mp)) {
> + sai.agflcount = be32_to_cpu(agf->agf_flcount);
> + if (sai.agflcount > xfs_agfl_size(sc->mp)) {
> xchk_block_set_corrupt(sc, sc->sa.agf_bp);
> goto out;
> }
> - memset(&sai, 0, sizeof(sai));
> - sai.sc = sc;
> - sai.sz_entries = agflcount;
> - sai.entries = kmem_zalloc(sizeof(xfs_agblock_t) * agflcount,
> - KM_MAYFAIL);
> + sai.entries = kvcalloc(sai.agflcount, sizeof(xfs_agblock_t),
> + GFP_KERNEL | __GFP_RETRY_MAYFAIL);
The code is fine, but I'm curious why kvcalloc()? Are there really
devices out there with sector sizes large than 4kB that we support?
Cheers,
Dave.
--
Dave Chinner
david@fromorbit.com
next prev parent reply other threads:[~2022-10-13 22:32 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-10-02 18:19 [PATCHSET v23.1 0/4] xfs: fix handling of AG[IF] header buffers during scrub Darrick J. Wong
2022-10-02 18:19 ` [PATCH 3/4] xfs: set the buffer type after holding the AG[IF] across trans_roll Darrick J. Wong
2022-10-13 22:25 ` Dave Chinner
2022-10-13 23:19 ` Darrick J. Wong
2022-10-14 1:28 ` Dave Chinner
2022-10-24 4:16 ` Darrick J. Wong
2022-10-31 18:08 ` [PATCH v23.2 3/4] xfs: log the AGI/AGF buffers when rolling transactions during an AG repair Darrick J. Wong
2022-10-31 21:17 ` Dave Chinner
2022-10-02 18:19 ` [PATCH 1/4] xfs: fully initialize xfs_da_args in xchk_directory_blocks Darrick J. Wong
2022-10-13 22:33 ` Dave Chinner
2022-10-02 18:19 ` [PATCH 2/4] xfs: don't track the AGFL buffer in the scrub AG context Darrick J. Wong
2022-10-13 22:32 ` Dave Chinner [this message]
2022-10-02 18:19 ` [PATCH 4/4] xfs: make AGFL repair function avoid crosslinked blocks Darrick J. Wong
2022-10-13 22:35 ` Dave Chinner
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=20221013223247.GZ3600936@dread.disaster.area \
--to=david@fromorbit.com \
--cc=djwong@kernel.org \
--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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.