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? Thanks! Jianpeng > -----Original Message----- > From: Zach Brown [mailto:zab@xxxxxxxxx] > Sent: Friday, August 22, 2014 12:59 AM > To: Ma, Jianpeng > Cc: viro@xxxxxxxxxxxxxxxxxx; Sage Weil; Mark Kirkwood; linux-aio@xxxxxxxxx; > linux-fsdevel@xxxxxxxxxxxxxxx > Subject: Re: [HELP]: about aio+dio > > On Thu, Aug 21, 2014 at 02:01:38AM +0000, Ma, Jianpeng wrote: > > > -----Original Message----- > > > From: Zach Brown [mailto:zab@xxxxxxxxx] > > > Sent: Thursday, August 21, 2014 2:44 AM > > > To: Ma, Jianpeng > > > Cc: viro@xxxxxxxxxxxxxxxxxx; Sage Weil; Mark Kirkwood; > > > linux-aio@xxxxxxxxx; linux-fsdevel@xxxxxxxxxxxxxxx > > > Subject: Re: [HELP]: about aio+dio > > > > > > On Wed, Aug 20, 2014 at 04:05:01AM +0000, Ma, Jianpeng wrote: > > > > Hi all, > > > > At present, I met a problem. > > > > Open(block, DIRECT_IO) > > > > Io_submit()--->write operation > > > > Close() > > > > Exit(0) > > > > > > > > After exit(), we found the content of block changed. If we only > > > > use aio, the > > > bug can't reproduce. > > > > > > > > Q1: Is close() wait until all aio to complete? Is exit() to wait > > > > until aio to > > > complete? > > > > > > exit(). > > Can you explain in detail? If you can point the code, I think it better. > > Huh, look at that. It certianly used to. But it looks like exit_aio() upstream > isn't waiting for iocbs to complete. So we'll need to get that fixed :). > > - 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