public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: "Darrick J. Wong" <darrick.wong@oracle.com>
To: Nick Desaulniers <ndesaulniers@google.com>
Cc: linux-xfs@vger.kernel.org,
	Nathan Chancellor <natechancellor@gmail.com>,
	LKML <linux-kernel@vger.kernel.org>,
	clang-built-linux@googlegroups.com
Subject: Re: [PATCH] xfs: clean up xfs_dir2_leafn_add
Date: Fri, 8 Mar 2019 10:38:30 -0800	[thread overview]
Message-ID: <20190308183830.GC20533@magnolia> (raw)
In-Reply-To: <CAKwvOdn0=1svhDUBEP+391NvUXhm8bkzBzNMgNphML8kRzrRJQ@mail.gmail.com>

On Fri, Mar 08, 2019 at 10:12:33AM -0800, Nick Desaulniers wrote:
> On Fri, Mar 8, 2019 at 8:13 AM Darrick J. Wong <darrick.wong@oracle.com> wrote:
> >
> > From: Darrick J. Wong <darrick.wong@oracle.com>
> >
> > Remove typedefs and consolidate local variable initialization.
> >
> > Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
> > ---
> >  fs/xfs/libxfs/xfs_dir2_node.c |   20 ++++++++------------
> >  1 file changed, 8 insertions(+), 12 deletions(-)
> >
> > diff --git a/fs/xfs/libxfs/xfs_dir2_node.c b/fs/xfs/libxfs/xfs_dir2_node.c
> > index de46f26c5292..16731d2d684b 100644
> > --- a/fs/xfs/libxfs/xfs_dir2_node.c
> > +++ b/fs/xfs/libxfs/xfs_dir2_node.c
> > @@ -426,26 +426,22 @@ xfs_dir2_leaf_to_node(
> >  static int                                     /* error */
> >  xfs_dir2_leafn_add(
> >         struct xfs_buf          *bp,            /* leaf buffer */
> > -       xfs_da_args_t           *args,          /* operation arguments */
> > +       struct xfs_da_args      *args,          /* operation arguments */
> >         int                     index)          /* insertion pt for new entry */
> >  {
> > +       struct xfs_dir3_icleaf_hdr leafhdr;
> > +       struct xfs_inode        *dp = args->dp;
> > +       struct xfs_dir2_leaf    *leaf = bp->b_addr;
> > +       struct xfs_dir2_leaf_entry *lep;
> > +       struct xfs_dir2_leaf_entry *ents;
> >         int                     compact;        /* compacting stale leaves */
> > -       xfs_inode_t             *dp;            /* incore directory inode */
> > -       int                     highstale;      /* next stale entry */
> > -       xfs_dir2_leaf_t         *leaf;          /* leaf structure */
> > -       xfs_dir2_leaf_entry_t   *lep;           /* leaf entry */
> > +       int                     highstale = 0;  /* next stale entry */
> >         int                     lfloghigh;      /* high leaf entry logging */
> >         int                     lfloglow;       /* low leaf entry logging */
> > -       int                     lowstale;       /* previous stale entry */
> > -       struct xfs_dir3_icleaf_hdr leafhdr;
> > -       struct xfs_dir2_leaf_entry *ents;
> > +       int                     lowstale = 0;   /* previous stale entry */
> >
> >         trace_xfs_dir2_leafn_add(args, index);
> >
> > -       dp = args->dp;
> > -       leaf = bp->b_addr;
> > -       highstale = 0;
> > -       lowstale = 0;
> >         dp->d_ops->leaf_hdr_from_disk(&leafhdr, leaf);
> >         ents = dp->d_ops->leaf_ents_p(leaf);
> 
> What about moving the initialization of `ents` above? (Or would that
> be over the line limit?)

It might be over the line limit, but more importantly I prefer to have
the tracepoint fire before we start interpreting the on-disk metadata.
That way, ftrace data will show exactly where we were in the kernel
if any corruption warnings are emitted during that interpretation.

I don't think either of those two functions do that today, but I don't
want to leave a logic bomb in case they ever start doing that.

> In general, I like this change (I considered asking Nathan to do the
> consolidation of declaration and initialization as you've done).  The
> additional part of converting from _t to struct * is less interesting
> (but still ok).  It's better to be consistent within the function
> scope, but this translation unit is still a mismatch of styles.  If
> the goal is to avoid typedefs, consider removing them from existence
> and the required work to consistently not use them throughout this
> code.

Yeah, we're slowly converting away from the _t typedefs (and other
IRIXisms) as parts of code get reworked, though of course there's
nothing obvious to suggest that this (slow transition) is in progress
nor that we're ok with the inconsistent formatting in the meantime,
which is why I accepted the original patch and added this one to do the
style conversions.

--D

> -- 
> Thanks,
> ~Nick Desaulniers

  reply	other threads:[~2019-03-08 18:38 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-03-08 16:13 [PATCH] xfs: clean up xfs_dir2_leafn_add Darrick J. Wong
2019-03-08 18:12 ` Nick Desaulniers
2019-03-08 18:38   ` Darrick J. Wong [this message]
2019-03-08 18:42     ` Nick Desaulniers
2019-03-08 23:11       ` Darrick J. Wong
2019-03-08 23:31         ` Nathan Chancellor

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=20190308183830.GC20533@magnolia \
    --to=darrick.wong@oracle.com \
    --cc=clang-built-linux@googlegroups.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-xfs@vger.kernel.org \
    --cc=natechancellor@gmail.com \
    --cc=ndesaulniers@google.com \
    /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