From: "Darrick J. Wong" <djwong@kernel.org>
To: Dave Chinner <david@fromorbit.com>
Cc: linux-xfs@vger.kernel.org, hch@infradead.org
Subject: Re: [PATCH 05/14] xfs: separate the dqrele_all inode grab logic from xfs_inode_walk_ag_grab
Date: Tue, 1 Jun 2021 20:28:13 -0700 [thread overview]
Message-ID: <20210602032813.GG26380@locust> (raw)
In-Reply-To: <20210602015147.GM664593@dread.disaster.area>
On Wed, Jun 02, 2021 at 11:51:47AM +1000, Dave Chinner wrote:
> On Tue, Jun 01, 2021 at 05:53:00PM -0700, Darrick J. Wong wrote:
> > From: Darrick J. Wong <djwong@kernel.org>
> >
> > Disentangle the dqrele_all inode grab code from the "generic" inode walk
> > grabbing code, and and use the opportunity to document why the dqrele
> > grab function does what it does. Since xfs_inode_walk_ag_grab is now
> > only used for blockgc, rename it to reflect that.
> >
> > Ultimately, there will be four reasons to perform a walk of incore
> > inodes: quotaoff dquote releasing (dqrele), garbage collection of
> > speculative preallocations (blockgc), reclamation of incore inodes
> > (reclaim), and deferred inactivation (inodegc). Each of these four have
> > their own slightly different criteria for deciding if they want to
> > handle an inode, so it makes more sense to have four cohesive igrab
> > functions than one confusing parameteric grab function like we do now.
> >
> > Signed-off-by: Darrick J. Wong <djwong@kernel.org>
> > ---
> > fs/xfs/xfs_icache.c | 66 +++++++++++++++++++++++++++++++++++++++++++++++----
> > 1 file changed, 61 insertions(+), 5 deletions(-)
>
> Looks ok - one minor nit:
>
> > @@ -1642,6 +1682,22 @@ xfs_blockgc_free_quota(
> >
> > /* XFS Incore Inode Walking Code */
> >
> > +static inline bool
> > +xfs_grabbed_for_walk(
> > + enum xfs_icwalk_goal goal,
> > + struct xfs_inode *ip,
> > + int iter_flags)
> > +{
> > + switch (goal) {
> > + case XFS_ICWALK_BLOCKGC:
> > + return xfs_blockgc_igrab(ip, iter_flags);
> > + case XFS_ICWALK_DQRELE:
> > + return xfs_dqrele_igrab(ip);
> > + default:
> > + return false;
> > + }
> > +}
>
> xfs_icwalk_grab() seems to make more sense here.
Ok, changed.
> /me is wondering if all this should eventually end up under a
> xfs_icwalk namespace?
Yeah, I'll throw a renamer patch on the end of this series. Or possibly
just do it after I move the xfs_inode_walk functions to the bottom.
--D
>
> Cheers,
>
> Dave.
> --
> Dave Chinner
> david@fromorbit.com
next prev parent reply other threads:[~2021-06-02 3:28 UTC|newest]
Thread overview: 29+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-06-02 0:52 [PATCHSET v5 00/14] xfs: clean up incore inode walk functions Darrick J. Wong
2021-06-02 0:52 ` [PATCH 01/14] xfs: move the quotaoff dqrele inode walk into xfs_icache.c Darrick J. Wong
2021-06-02 1:23 ` Dave Chinner
2021-06-02 0:52 ` [PATCH 02/14] xfs: detach inode dquots at the end of inactivation Darrick J. Wong
2021-06-02 0:52 ` [PATCH 03/14] xfs: move the inode walk functions further down Darrick J. Wong
2021-06-02 1:26 ` Dave Chinner
2021-06-02 0:52 ` [PATCH 04/14] xfs: pass the goal of the incore inode walk to xfs_inode_walk() Darrick J. Wong
2021-06-02 1:42 ` Dave Chinner
2021-06-02 0:53 ` [PATCH 05/14] xfs: separate the dqrele_all inode grab logic from xfs_inode_walk_ag_grab Darrick J. Wong
2021-06-02 1:51 ` Dave Chinner
2021-06-02 3:28 ` Darrick J. Wong [this message]
2021-06-02 0:53 ` [PATCH 06/14] xfs: move xfs_inew_wait call into xfs_dqrele_inode Darrick J. Wong
2021-06-02 1:52 ` Dave Chinner
2021-06-02 0:53 ` [PATCH 07/14] xfs: remove iter_flags parameter from xfs_inode_walk_* Darrick J. Wong
2021-06-02 1:53 ` Dave Chinner
2021-06-02 0:53 ` [PATCH 08/14] xfs: remove indirect calls from xfs_inode_walk{,_ag} Darrick J. Wong
2021-06-02 2:00 ` Dave Chinner
2021-06-02 0:53 ` [PATCH 09/14] xfs: clean up the blockgc grab and scan calls a little Darrick J. Wong
2021-06-02 0:53 ` [PATCH 10/14] xfs: clean up xfs_dqrele_inode calling conventions Darrick J. Wong
2021-06-02 0:53 ` [PATCH 11/14] xfs: fix radix tree tag signs Darrick J. Wong
2021-06-02 2:02 ` Dave Chinner
2021-06-02 0:53 ` [PATCH 12/14] xfs: pass struct xfs_eofblocks to the inode scan callback Darrick J. Wong
2021-06-02 2:04 ` Dave Chinner
2021-06-02 6:15 ` Darrick J. Wong
2021-06-02 0:53 ` [PATCH 13/14] xfs: merge xfs_reclaim_inodes_ag into xfs_inode_walk_ag Darrick J. Wong
2021-06-02 2:10 ` Dave Chinner
2021-06-02 6:16 ` Darrick J. Wong
2021-06-02 0:53 ` [PATCH 14/14] xfs: refactor per-AG inode tagging functions Darrick J. Wong
2021-06-02 2:22 ` 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=20210602032813.GG26380@locust \
--to=djwong@kernel.org \
--cc=david@fromorbit.com \
--cc=hch@infradead.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox