mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: "Myklebust, Trond" <Trond.Myklebust@netapp.com>
To: Dave Chiluk <chiluk@canonical.com>
Cc: "bfields@fieldses.org" <bfields@fieldses.org>,
	"linux-nfs@vger.kernel.org" <linux-nfs@vger.kernel.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH] NFSv4: Use exponential backoff delay for NFS4_ERRDELAY
Date: Wed, 24 Apr 2013 21:28:47 +0000	[thread overview]
Message-ID: <1366838926.22397.25.camel@leira.trondhjem.org> (raw)
In-Reply-To: <1366836949-18465-1-git-send-email-chiluk@canonical.com>

On Wed, 2013-04-24 at 15:55 -0500, Dave Chiluk wrote:
> Changing the retry to start at NFS4_POLL_RETRY_MIN and exponentially grow
> to NFS4_POLL_RETRY_MAX allow for faster handling of these error conditions.
> 
> Additionally this alleviates an interoperability problem with the AIX NFSv4
> Server.  The AIX server frequently (2 out of 3) returns NFS4ERR_DELAY, on a
> close when it happens in close proximity to a RELEASE_LOCKOWNER.  This would
> cause a linux client to hang for 15 seconds.

Hi Dave,

The AIX server is not being motivated by any requirements in the NFSv4
spec here, so I fail to see the reason why the behaviour that you
describe can justify changing the client. It is not at all obvious to me
that we should be retrying aggressively when NFSv4 servers return
NFS4ERR_DELAY. What makes 1/10sec more correct in these situations than
the exising 15 seconds?

The motivation for doing it in the case of OPEN, SETATTR, etc is
clearer: those operations may require the server to recall a delegation,
in which case aggressive retries are in order since delegation recalls
are usually fast.
The motivation in the case of LOCK is less clear, but it is basically
down to the fact that NFSv4 has a polling model for doing blocking
locks.
In all other cases, why should we be treating NFS4ERR_DELAY any
differently from how we treat NFS3ERR_JUKEBOX in NFSv3?

Note that if we do decide that changing the client is the right thing,
then I don't want the patch to add new fields to struct rpc_task. That's
the wrong layer for storing NFSv4 client specific data.


-- 
Trond Myklebust
Linux NFS client maintainer

NetApp
Trond.Myklebust@netapp.com
www.netapp.com

  parent reply	other threads:[~2013-04-24 21:28 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-04-24 20:55 Dave Chiluk
2013-04-24 21:11 ` J. Bruce Fields
2013-04-24 21:28 ` Myklebust, Trond [this message]
2013-04-24 21:54   ` Dave Chiluk
2013-04-24 22:35     ` Myklebust, Trond
2013-04-25 12:19       ` David Wysochanski
2013-04-25 13:19         ` Myklebust, Trond
2013-04-25 13:29         ` bfields
2013-04-25 13:30           ` Myklebust, Trond
2013-04-25 13:49             ` bfields
2013-04-25 14:10               ` Myklebust, Trond
2013-04-25 15:28                 ` [PATCH] NFSv4: Use exponential backoff delay for Ni Matt W. Benjamin
2013-04-25 15:42                   ` Myklebust, Trond
2013-04-25 18:19                 ` [PATCH] NFSv4: Use exponential backoff delay for NFS4_ERRDELAY bfields
2013-04-25 18:40                   ` Chuck Lever
2013-04-25 18:46                     ` bfields
2013-04-25 18:51                       ` Chuck Lever
2013-04-25 18:57                         ` bfields
2013-04-25 18:52                       ` Myklebust, Trond
2013-04-25 14:51               ` Chuck Lever

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=1366838926.22397.25.camel@leira.trondhjem.org \
    --to=trond.myklebust@netapp.com \
    --cc=bfields@fieldses.org \
    --cc=chiluk@canonical.com \
    --cc=linux-kernel@vger.kernel.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®