From: Dave Chinner <david@fromorbit.com>
To: "Darrick J. Wong" <djwong@kernel.org>
Cc: linux-xfs@vger.kernel.org
Subject: Re: [PATCH 03/13] xfs: check deferred refcount op continuation parameters
Date: Mon, 31 Oct 2022 11:17:00 +1100 [thread overview]
Message-ID: <20221031001700.GK3600936@dread.disaster.area> (raw)
In-Reply-To: <166717329884.417886.372970393704654546.stgit@magnolia>
On Sun, Oct 30, 2022 at 04:41:38PM -0700, Darrick J. Wong wrote:
> From: Darrick J. Wong <djwong@kernel.org>
>
> If we're in the middle of a deferred refcount operation and decide to
> roll the transaction to avoid overflowing the transaction space, we need
> to check the new agbno/aglen parameters that we're about to record in
> the new intent. Specifically, we need to check that the new extent is
> completely within the filesystem, and that continuation does not put us
> into a different AG.
>
> If the keys of a node block are wrong, the lookup to resume an
> xfs_refcount_adjust_extents operation can put us into the wrong record
> block. If this happens, we might not find that we run out of aglen at
> an exact record boundary, which will cause the loop control to do the
> wrong thing.
>
> The previous patch should take care of that problem, but let's add this
> extra sanity check to stop corruption problems sooner than later.
>
> Signed-off-by: Darrick J. Wong <djwong@kernel.org>
> ---
> fs/xfs/libxfs/xfs_refcount.c | 38 ++++++++++++++++++++++++++++++++++++--
> 1 file changed, 36 insertions(+), 2 deletions(-)
LGTM.
Reviewed-by: Dave Chinner <dchinner@redhat.com>
--
Dave Chinner
david@fromorbit.com
next prev parent reply other threads:[~2022-10-31 0:17 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-10-30 23:41 [PATCHSET v3 00/13] xfs: improve runtime refcountbt corruption detection Darrick J. Wong
2022-10-30 23:41 ` [PATCH 01/13] xfs: make sure aglen never goes negative in xfs_refcount_adjust_extents Darrick J. Wong
2022-10-30 23:41 ` [PATCH 02/13] xfs: create a predicate to verify per-AG extents Darrick J. Wong
2022-10-31 0:15 ` Dave Chinner
2022-10-30 23:41 ` [PATCH 03/13] xfs: check deferred refcount op continuation parameters Darrick J. Wong
2022-10-31 0:17 ` Dave Chinner [this message]
2022-10-30 23:41 ` [PATCH 04/13] xfs: move _irec structs to xfs_types.h Darrick J. Wong
2022-10-30 23:41 ` [PATCH 05/13] xfs: refactor refcount record usage in xchk_refcountbt_rec Darrick J. Wong
2022-10-30 23:41 ` [PATCH 06/13] xfs: track cow/shared record domains explicitly in xfs_refcount_irec Darrick J. Wong
2022-10-30 23:42 ` [PATCH 07/13] xfs: report refcount domain in tracepoints Darrick J. Wong
2022-10-30 23:42 ` [PATCH 08/13] xfs: refactor domain and refcount checking Darrick J. Wong
2022-10-30 23:42 ` [PATCH 09/13] xfs: remove XFS_FIND_RCEXT_SHARED and _COW Darrick J. Wong
2022-10-30 23:42 ` [PATCH 10/13] xfs: check record domain when accessing refcount records Darrick J. Wong
2022-10-30 23:42 ` [PATCH 11/13] xfs: fix agblocks check in the cow leftover recovery function Darrick J. Wong
2022-10-30 23:42 ` [PATCH 12/13] xfs: fix uninitialized list head in struct xfs_refcount_recovery Darrick J. Wong
2022-10-30 23:42 ` [PATCH 13/13] xfs: rename XFS_REFC_COW_START to _COWFLAG 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=20221031001700.GK3600936@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.