Re: [PATCH 1/4 linux-next] xfs: use swap() in xfs_dir2_leafn_rebalance()

Dave Chinner
2015-05-18T21:37:21Z

On Mon, May 18, 2015 at 08:06:13PM +0200, Fabian Frederick wrote:
>
>
> > On 18 May 2015 at 19:19 Al Viro <viro@ZenIV.linux.org.uk> wrote:
> >
> >
> > On Mon, May 18, 2015 at 07:13:48PM +0200, Fabian Frederick wrote:
> > >      * If the block order is wrong, swap the arguments.
> > >      */
> > > -   if ((swap = xfs_dir2_leafn_order(dp, blk1->bp, blk2->bp))) {
> > > -           xfs_da_state_blk_t      *tmp;   /* temp for block swap */
> > > +   swap = xfs_dir2_leafn_order(dp, blk1->bp, blk2->bp);
> > > +   if (swap)
> > > +           swap(blk1, blk2);
> >
> > Egads...  Have you even read what you'd written?  Yes, sure, preprocessor
> > will do the right thing, but it's a very noticable annoyance for somebody
> > reading that.  Rename the bleeding flag, please.
>
> I wanted to focus on the swap() update in this small patchset (some other things
> should be done in there like have xfs_dir2_leafn_order() return bool) but I can
> rename it in something like need_swap. Do I need to resend the 4 patches Dave ?

4 patches is 3 patches too many for noise like this. Anyway, two of
the patches have the same local "swap" variable problem; the context
is "swap order" not "need swap".

FWIW, I am not a fan of changing the code for no actual gain - the
compiled code is identical, there are no stack savings, and now I
have to look at an extra file to work out what the code does. If
you're changing the code and this is prep work for a large series,
then by all means clean the code up. But otherwise, changes like
this just mean work that other developers have in progress need
rebasing....

Cheers,

Dave.
--
Dave Chinner
david@fromorbit.com