On Tue 17-11-15 14:52:19, Avi Kivity wrote: > > > On 11/16/2015 09:27 PM, Jeff Moyer wrote: > >Hi Avi, > > > >Avi Kivity <avi@xxxxxxxxxxxx> writes: > > > >>Due to a bug in my program, I initiated a read beyond > >>eof. Specifically, the file size is 13002 bytes and the read offset is > >>13312 (0x3400). > >> > >>I would expect such a read to return 0 bytes read, but io_getevents > >>returns -310, which is suspiciously equal to (13002 - 13312). > >> > >>I attach a reproducer. > >> > >>4.2.5-201.fc22.x86_64 > >> > >>Are my expectations incorrect, or is this a bug in aio or xfs? > >Your expectations are correct. The bug was introduced by commit > >9fe55eea7e4b4 (Fix race when checking i_size on direct i/o read). I've > >CC'd the patch author and linux-fsdevel. I'm not sure what the right > >fix is, given that the size checks were removed from the vfs to fix some > >race condition. Unfortunately, the commit message doesn't really do a > >good job of explaining the race. In order to save others time, here is > >a good explanation of the problem that commit is meant to fix, along > >with a reproducer: > > http://marc.info/?l=linux-fsdevel&m=138641356614458&w=2 > > > >Thanks for the great bug report, and sorry I have no solution to > >proffer. > > > > Thanks. I will await a fix with interest. Can you please post the reproduce here as well? I couldn't easily find it with google. Honza -- Jan Kara <jack@xxxxxxxx> SUSE Labs, CR -- 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