All of lore.kernel.org
 help / color / mirror / Atom feed
From: Dale Stimson <DaleStimson@gmail.com>
To: linux-nfs@vger.kernel.org
Cc: David Shaw <dshaw-wh+mT2OhP0WF0gnf/s2wvA@public.gmane.org>,
	"J. Bruce Fields" <bfields@citi.umich.edu>
Subject: Re: [PATCH] Short write in nfsd becomes a full write to the client
Date: Fri, 26 Jun 2009 21:24:49 -0700	[thread overview]
Message-ID: <20090627042449.GC15665@cupro.opengvs.com> (raw)

On Thu, 5 Mar 2009 20:16:14 -0500, David Shaw <dshaw-wh+mT2OhP0WF0gnf/s2wvA@public.gmane.org> 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.

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

             reply	other threads:[~2009-06-27  4:43 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-06-27  4:24 Dale Stimson [this message]
     [not found] ` <20090627042449.GC15665-NmLOIDrUSDQtrE7AZYN0JQC/G2K4zDHf@public.gmane.org>
2009-06-29 14:59   ` [PATCH] Short write in nfsd becomes a full write to the client J. Bruce Fields
2009-06-29 19:29     ` Dale Stimson
     [not found]       ` <20090629192951.GA3851-NmLOIDrUSDQtrE7AZYN0JQC/G2K4zDHf@public.gmane.org>
2009-06-29 19:47         ` J. Bruce Fields
2009-06-29 19:49           ` J. Bruce Fields
2009-06-30 15:22             ` [solved] " Dale Stimson
     [not found]               ` <20090630152209.GA3320-NmLOIDrUSDQtrE7AZYN0JQC/G2K4zDHf@public.gmane.org>
2009-06-30 15:22                 ` J. Bruce Fields
  -- strict thread matches above, loose matches on Subject: below --
2009-03-06  1:16 David Shaw
     [not found] ` <20090306011614.GA10357-wh+mT2OhP0WF0gnf/s2wvA@public.gmane.org>
2009-03-10 23:24   ` J. Bruce Fields

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20090627042449.GC15665@cupro.opengvs.com \
    --to=dalestimson@gmail.com \
    --cc=bfields@citi.umich.edu \
    --cc=dshaw-wh+mT2OhP0WF0gnf/s2wvA@public.gmane.org \
    --cc=linux-nfs@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.