xfs
[Top] [All Lists]

Re: [PATCH 14/25] xfs: remove xfs_bmap_add_extent

To: Alex Elder <aelder@xxxxxxx>
Subject: Re: [PATCH 14/25] xfs: remove xfs_bmap_add_extent
From: Christoph Hellwig <hch@xxxxxxxxxxxxx>
Date: Sat, 10 Sep 2011 14:49:28 -0400
Cc: Christoph Hellwig <hch@xxxxxxxxxxxxx>, xfs@xxxxxxxxxxx
In-reply-to: <1315612549.1999.129.camel@doink>
References: <20110824060428.789245205@xxxxxxxxxxxxxxxxxxxxxx> <20110824060643.401685261@xxxxxxxxxxxxxxxxxxxxxx> <1315612549.1999.129.camel@doink>
User-agent: Mutt/1.5.21 (2010-09-15)
On Fri, Sep 09, 2011 at 06:55:49PM -0500, Alex Elder wrote:
> On Wed, 2011-08-24 at 02:04 -0400, Christoph Hellwig wrote:
> > plain text document attachment (xfs-bmapi-split-xfs_bmap_extent-2)
> > There is no real need to the xfs_bmap_add_extent, as the callers know what
> > kind of extents they need to it.  Removing it means duplicating the
> > extents to btree conversion logic in three places, but overall it's still
> > a lot less, and much simpler code.
> > 
> > Signed-off-by: Christoph Hellwig <hch@xxxxxx>
> 
> Not really a *lot* less code, but it is an improvement.
> 
> Simple question below (coding style) but this looks good.

It's about 70 lines.  I've toned the description down a bit for the next
version.

> > +STATIC void
> > +xfs_bmap_check_leaf_extents(
> > +   struct xfs_btree_cur    *cur,
> > +   struct xfs_inode        *ip,
> > +   int                     whichfork);
> > +#else
> > +#define xfs_bmap_check_leaf_extents(cur, ip, whichfork)            do { } 
> > while (0)
> > +#endif
> 
> Why do you use "do {} while (0)" rather than just an empty right
> hand side? 

That way it can safely be used e.g. inside single-line conditionals
without braces. It's an idiom used quite a lot in the kernel.

<Prev in Thread] Current Thread [Next in Thread>