public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Peter Staubach <staubach@redhat.com>
To: Ric Wheeler <ric@emc.com>
Cc: "J. Bruce Fields" <bfields@fieldses.org>,
	John Stoffel <john@stoffel.org>,
	Robin Lee Powell <rlpowell@digitalkingdom.org>,
	linux-kernel@vger.kernel.org
Subject: Re: NFS hang + umount -f: better behaviour requested.
Date: Fri, 24 Aug 2007 11:37:03 -0400	[thread overview]
Message-ID: <46CEFB1F.5080503@redhat.com> (raw)
In-Reply-To: <46CEF49A.2050105@emc.com>

Ric Wheeler wrote:
> J. Bruce Fields wrote:
>> On Tue, Aug 21, 2007 at 02:50:42PM -0400, John Stoffel wrote:
>>  
>>> Not in my experience.  We use NetApps as our backing NFS servers, so
>>> maybe my experience isn't totally relevant.  But with a mix of Linux
>>> and Solaris clients, we've never had problems with soft,intr on our
>>> NFS clients.
>>>
>>> We also don't see file corruption, mysterious executables failing to
>>> run, etc. 
>>> Now maybe those issues are raised when you have a Linux NFS server
>>> with Solaris clients.  But in my book, reliable NFS servers are key,
>>> and if they are reliable, 'soft,intr' works just fine.
>>>     
>>
>> The NFS server alone can't prevent the problems Peter Staubach refers
>> to.  Their frequency also depends on the network and the way you're
>> using the filesystem.  (A sufficiently paranoid application accessing
>> the filesystem could function correctly despite the problems caused by
>> soft mounts, but the degree of paranoia required probably isn't common.)
>>   
> Would it be sufficient to insure that that application always issues 
> an fsync() before closing any recently written/updated file? Is there 
> some other subtle paranoid techniques that should be used?

I suspect that this is not sufficient.  The application should
be prepared to rewrite data if it can determine what data did
not get written.  Using fsync will tell the application when
data was not written to the server correctly, but not which
part of the data.

Perhaps O_SYNC or fsync following each write, but either one of
these options will also cause a large performance degradation.

The right solution is the use of TCP and hard mounting.

       ps

  reply	other threads:[~2007-08-24 15:37 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-08-20 22:54 NFS hang + umount -f: better behaviour requested Robin Lee Powell
2007-08-20 23:27 ` Neil Brown
2007-08-20 23:34   ` Robin Lee Powell
2007-08-21  1:51     ` Salah Coronya
2007-08-21 16:43 ` John Stoffel
2007-08-21 16:55   ` J. Bruce Fields
2007-08-21 17:01   ` Peter Staubach
2007-08-21 17:14     ` Chakri n
2007-08-21 17:14     ` Robin Lee Powell
2007-08-21 17:18       ` Peter Staubach
2007-08-21 18:50     ` John Stoffel
2007-08-21 19:04       ` Peter Staubach
2007-08-21 19:25       ` J. Bruce Fields
2007-08-24 15:09         ` Ric Wheeler
2007-08-24 15:37           ` Peter Staubach [this message]
2007-08-24 15:53           ` J. Bruce Fields
2007-08-21 23:04       ` Valdis.Kletnieks
2007-08-22 10:03         ` Theodore Tso
2007-08-22 15:26         ` John Stoffel
2007-08-31  8:06       ` Ian Kent
2007-08-31 15:10         ` Valdis.Kletnieks
2007-08-31 15:30           ` Ian Kent

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=46CEFB1F.5080503@redhat.com \
    --to=staubach@redhat.com \
    --cc=bfields@fieldses.org \
    --cc=john@stoffel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=ric@emc.com \
    --cc=rlpowell@digitalkingdom.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox