For aio+directio: After io_submit, the content in request-queue of block-device. In blkdev_fsync(), it will cal blkdev_issue_flush. This operation make all request to disk. Or am I missing something? Jianpeng > -----Original Message----- > From: Zach Brown [mailto:zab@xxxxxxxxx] > Sent: Wednesday, August 27, 2014 2:52 AM > To: Ma, Jianpeng > Cc: viro@xxxxxxxxxxxxxxxxxx; Sage Weil; Mark Kirkwood; linux-aio@xxxxxxxxx; > linux-fsdevel@xxxxxxxxxxxxxxx > Subject: Re: [HELP]: about aio+dio > > On Fri, Aug 22, 2014 at 12:40:46AM +0000, Ma, Jianpeng wrote: > > Hi Zach, > > Ask other question: Is fsync/fdatasync to wait all aio to complete? > > AFAK, for fsync, it will send WRITE_FLUSH which make all previous > > request complete. Is it right? > > No, sync won't wait for aio operations to complete. If you want to flush the > cached results of aio operations with sync then you need to wait to issue the > sync until after the aio operations have completed. > > - z -- To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html