Re: [PATCH] Short write in nfsd becomes a full write to the client

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, Jun 29, 2009 at 10:59:52AM -0400, J. Bruce Fields wrote:
> 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?

No.  As far as I can see that patch has been merged only in 2.6.30 and is not in any of the 2.6.29.? releases.  There is definitely no Fedora-specific version of that patch present.  The only Fedora-specific patch related to NFS applied in kernel-2.6.29.5-191.fc11.src.rpm is linux-2.6-nfsd-report-short-writes.patch.

> 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.

Capture done, to be emailed off-list.

> > 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

[Index of Archives]     [Linux Filesystem Development]     [Linux USB Development]     [Linux Media Development]     [Video for Linux]     [Linux NILFS]     [Linux Audio Users]     [Yosemite Info]     [Linux SCSI]

  Powered by Linux