On Thu, 2009-09-10 at 10:54 +0200, Jan Kara wrote: > On Thu 10-09-09 13:27:30, Aneesh Kumar K.V wrote: > > On Wed, Sep 09, 2009 at 01:51:02PM -0700, Mingming wrote: > > ..... > > ..... > > > > > > I think fsync() still won't work correctly since it can happen user sees > > > > AIO completed, calls fsync() that completes, > > > > > > hmm, does fsync() ensure user sees AIO data completed? > > > > > > > If we call fsync after getting AIO completion event and crash we should > > ensure that the data can be read back properly. That is either > > > > a) we should ensure that we convert the extent before returning the io > > completion event > > b) Or the fsync should be able to guarantee that it will force the extent > > conversion pending on the file. > Exactly. > > a) should happen in the sync-io case where we can afford to do IO from the > end_io callback (and due to flush_workqueue call, it happens with the > current Mingming's patch so that is file). But for tha aio case, we have to > somehow implement b). > > Honza to implement b), I think we need to keep track of a list of completed IOs from AIO, but not get converted extents, and force fsync to run flush_queue on those completed IOs? Mingming -- To unsubscribe from this list: send the line "unsubscribe linux-ext4" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html