> -----邮件原件----- > 发件人: Trond Myklebust <trondmy@xxxxxxxxxxxxxxx> > 发送时间: 2024年1月11日 1:32 > 收件人: fstests@xxxxxxxxxxxxxxx; linux-nfs@xxxxxxxxxxxxxxx; jlayton@xxxxxxxxxx > 抄送: anna@xxxxxxxxxx; chuck.lever@xxxxxxxxxx > 主题: Re: fstests generic/465 failures on NFS > > On Wed, 2024-01-10 at 09:30 -0500, Jeff Layton wrote: ... > > > > It looks like the DIO writes got reordered here so the size of the > > file probably increased briefly before the second write got processed, > > and the read_plus got processed in between the two. > > > > While we might be able to force the client to send the WRITEs in order > > of increasing offset in this situation, the server is under no > > obligation to process concurrent RPCs in any particular order. I don't > > think this is fundamentally fixable due to that. > > > > Am I wrong? If not, then I'll plan to send an fstests patch to skip > > this test on NFS. > > This is an issue that we've known about for a while now. I regularly see this test > failing, and it is indeed because we do not serialise reads vs writes in O_DIRECT. > Until someone describes an application that relies on that behaviour to, I'd > prefer to avoid having to call > inode_dio_wait(inode) on the off chance that someone is doing an O_DIRECT > read from the same set of data that they are doing an O_DIRECT write to. > > IOW: I'd be happy to see us just skip that test. > Agree. For NFS, it should be the application's duty to ensure the consistency. Regards, - Chen