[dm-devel] [RFC PATCH] block: all callers should check blkdev_issue_flush's return

Mike Snitzer snitzer at redhat.com
Mon Jul 2 14:35:16 UTC 2012


On Sun, Jul 01 2012 at  3:28am -0400,
Joel Becker <jlbec at evilplan.org> wrote:

> On Tue, Jun 26, 2012 at 11:57:50AM -0400, Mike Snitzer wrote:
> > On Tue, Jun 26 2012 at 11:51am -0400,
> > Christoph Hellwig <hch at infradead.org> wrote:
> > 
> > > On Tue, Jun 26, 2012 at 11:27:25AM -0400, Mike Snitzer wrote:
> > > > It is concerning that a FLUSH may fail but the blkdev_issue_flush
> > > > callers assume it will always succeed.
> > > > 
> > > > Each blkdev_issue_flush caller should come to terms with the reality
> > > > that a FLUSH may fail -- the file_operations' .fsync methods in
> > > > particular.  nilfs2 is the only filesystem that checks
> > > > blkdev_issue_flush's return.
> > > 
> > > Good spot, but it would be way better if you actually provided patches
> > > to fix this instead of just adding more compiler warnings.
> > 
> > Alasdair pointed this issue out in response to me asserting that
> > blkdev_issue_flush does return non-void.  But anyway, others knowing
> > about this issue is half the battle. ;)
> > 
> > Most .fsync methods are straight-forward to convert but I'd prefer each
> > filesystem maintainer actively audit all blkdev_issue_flush calls.
> 
> So send it out with maintainers on cc: and get Acks.  That way we have a
> coherent patch series cleaning up the in-tree filesystems, rather than a
> bunch of warnings for every compile until the maintainers notice.

Hi Joel,

I shouldn't have sent an RFC patch at all; a normal mail would've
sufficed.

My intent wasn't to have that patch go upstream.  I explained as much to
Jens when I saw him last week: I just wanted to get the issue on
filesystem developers' radar (hence the RFC).

But just because someone reports something doesn't implicitly mean they
own fixing it -- I'm unfortunately quite busy with other work.

Given you have more filesystem experience and may be more inclined to
pick over the nuance of each blkdev_issue_flush caller (and how
short-circuiting on blkdev_issue_flush failure should be handled):
please feel free to get a coherent patchset going. ;)




More information about the dm-devel mailing list