On Fri, Jun 26, 2009 at 09:24:49PM -0700, Dale Stimson wrote: > On Thu, 5 Mar 2009 20:16:14 -0500, David Shaw <dshaw@xxxxxxxxxxxxxxx> wrote: > > If a filesystem being written to via NFS returns a short write count > > (as opposed to an error) to nfsd, nfsd treats that as a success for > > the entire write, rather than the short count that actually succeeded. > > > > For example, given a 8192 byte write, if the underlying filesystem > > only writes 4096 bytes, nfsd will ack back to the nfs client that all > > 8192 bytes were written. The nfs client does have retry logic for > > short writes, but this is never called as the client is told the > > complete write succeeded. > ... > > Here is a patch to properly return the short write count to the > > client. > [patch elided] > > I bring this to your attention so you may, if you choose, look into > this further: > > Problem synopsis: > An old client (running RHL 9 with kernel "2.4.20-43.9.legacy") > attempts to seek on a file mounted over nfs. The operation fails > with "Illegal seek" or "Input/Output error". The server is running > Fedora 11 kernel-PAE-2.6.29.5-191.fc11.i686, which includes the > short write patch. When this kernel is re-built without the short > write patch, everything works as before. Does that server kernel have some version of a0d24b295aed7a9daf4ca36bd4784e4d40f82303 "nfsd: fix hung up of nfs client while sync write data to nfs server" applied? If not, would it be possible to get a network trace? (Run "tcpdump -s0 -wTMP", then run the test case, then kill tcpdump and mail me a copy of TMP.) --b. > > Detais are at > https://bugzilla.redhat.com/show_bug.cgi?id=508174 > > Caveats: I am specifically referring to the patch file > "linux-2.6-nfsd-report-short-writes.patch" as newly included in > Fedora's file kernel-2.6.29.5-191.fc11.src.rpm . I can't vouch > that that patch file is identical to what was posted to this list > or merged for 2.6.30-rc1. > > (As an aside, in this case, the client was attempting a simple gcc > compile and link. The failing programs (invoked by fcc) were the > assember ("as)" and "ld".) -- To unsubscribe from this list: send the line "unsubscribe linux-nfs" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html