Re: Device loses barrier support (was: Fixed patch for simple barriers.)

From: Andi Kleen
Date: Thu Dec 04 2008 - 17:04:57 EST


> If you are pushing what you are pushing --- barriers allowing to return
> EOPNOTSUPP anytime --- then asynchronous barrier submits can no longer be
> used, because by the time EOPNOTSUPP is detected, the filesystem is
> already corrupted.

Chris Mason pointed out that this can actually already happen. From
a quick review this can happen in MD raid1 at least (their barriers_work
flag is pretty similar to the DM implementation I did). So everyone
has to handle this already anyways.

> I'm wondering, where in fsync() does Linux wait for hardware disk cache to
> be flushed? Isn't there a bug that fsync() will return before the cache is
> flushed? I couldn't really find it. The last thing do_fsync calls is
> filemap_fdatawait and it doesn't do cache flush (blkdev_issue_flush).

At least in fsync() on journaling fs the metadata update should push it.

-Andi

--
ak@xxxxxxxxxxxxxxx
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/