On Fri, 2008-10-17 at 09:22 -0400, Trond Myklebust wrote: > On Fri, 2008-10-17 at 14:01 +0100, Ian Campbell wrote: > > On Fri, 2008-10-17 at 08:48 -0400, Trond Myklebust wrote: > > > I don't see how this could be an RPC bug. The networking layer is > > > supposed to either copy the data sent to the socket, or take a reference > > > to any pages that are pushed via the ->sendpage() abi. > > > > > > IOW: the pages are supposed to be still referenced by the networking > > > layer even if the NFS layer and page cache have dropped their > > > references. > > > > The pages are still referenced by the networking layer. The problem is > > that the userspace app has been told that the write has completed so it > > is free to write new data to those pages. > > > > Ian. > > OK, I see your point. > > Does this happen at all with NFSv4? I ask because the NFSv4 client will > always ensure that the TCP connection gets broken before a > retransmission. I wouldn't therefore expect any races between a reply to > the previous transmission and the new one... It does seem to happen with NFSv4 too (see attached). Ian.
Attachment:
corrupt-over-nfsv4.pcap
Description: Binary data