linux-fsdevel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Jody French <jfrench@austin.rr.com>
To: Evgeniy Polyakov <johnpol@2ka.mipt.ru>
Cc: Jeff Layton <jlayton@redhat.com>,
	Steve French <smfrench@gmail.com>,
	linux-fsdevel <linux-fsdevel@vger.kernel.org>,
	Shirish Pargaonkar <shirishpargaonkar@gmail.com>,
	Dave Kleikamp <shaggy@linux.vnet.ibm.com>
Subject: Re: flush and EIO errors when writepages fails
Date: Sat, 21 Jun 2008 09:21:42 -0500	[thread overview]
Message-ID: <485D0E76.3020205@austin.rr.com> (raw)
In-Reply-To: <20080621131919.GA22509@2ka.mipt.ru>

Evgeniy Polyakov wrote:
>> Either way, if we really want to do a second attempt to write out the
>> pagevec, then adding some code to cifs_writepages that sleeps for a bit
>> and implements this seems like the thing to do. I'm not convinced that
>> it will actually make much difference, but it seems unlikely to hurt
>> anything.
>>     
>
> If server returns serious error then there is no other way except to
> discard data with error, but if server does not respond or respond EBUSY
> or that kind of error, then subsequent write can succeed and at least
> should not harm. As a simple case, it is possible to sleep a bit and
> resend in writepages(), but it is also possible just to return from the
> callback and allow VFS to call it again (frequently it will happen very
> soon though) with the same pages (or even increased chunk).
>   
In the particular case we are looking at, the network stack (TCP perhaps 
due a temporary glitch in
the network adapter or routing infrastructure or temporary memory 
pressure) is returning EAGAIN
for more than 15 seconds (on the tcp send of the Write request) but the 
server itself has not crashed,
(subsequent parts of the file written via later writepages requests are 
eventually written out),  eventually
we give up in writepages and return EIO on the next fsync or flush/close 
- but if we could
make one more attempt to go through in flush, and write all dirty pages 
including the ones that we timed
out on that would help.  In addition if readpage is about to do a 
partial page read into a dirty page that
we were unable to write out we would like to try once more before 
corrupting the data.

  reply	other threads:[~2008-06-21 14:37 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-06-20 22:34 flush and EIO errors when writepages fails Steve French
2008-06-21  7:05 ` Evgeniy Polyakov
2008-06-21 12:27   ` Jeff Layton
2008-06-21 13:19     ` Evgeniy Polyakov
2008-06-21 14:21       ` Jody French [this message]
2008-06-21 14:42         ` Evgeniy Polyakov
2008-06-21 16:15           ` Steve French
2008-06-21 16:28             ` Evgeniy Polyakov
2008-06-21 17:02               ` Steve French
2008-06-21 17:26                 ` Evgeniy Polyakov
2008-06-21 17:37                   ` Evgeniy Polyakov
2008-06-23 15:39         ` Dave Kleikamp
2008-06-23 18:05           ` Dave Kleikamp
     [not found] <20080620073150.2bc9988e@tupile.poochiereds.net>
     [not found] ` <OFE8C66E61.981E25D1-ON8725746E.0045A92A-8625746E.004718C0@us.ibm.com>
     [not found]   ` <20080620091542.09edb43f@tupile.poochiereds.net>
2008-06-20 16:19     ` Steve French (smfltc)
2008-06-20 16:34       ` Jeff Layton
2008-06-20 16:41         ` Steve French (smfltc)
2008-06-20 17:12           ` Jeff Layton

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=485D0E76.3020205@austin.rr.com \
    --to=jfrench@austin.rr.com \
    --cc=jlayton@redhat.com \
    --cc=johnpol@2ka.mipt.ru \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=shaggy@linux.vnet.ibm.com \
    --cc=shirishpargaonkar@gmail.com \
    --cc=smfrench@gmail.com \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).