Re: [nfsv4] What error to return if destination server fails to READ within cnr_lease_time

David Noveck <davenoveck@gmail.com> Fri, 18 December 2015 03:46 UTC

Return-Path: <davenoveck@gmail.com>
X-Original-To: nfsv4@ietfa.amsl.com
Delivered-To: nfsv4@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id B1A1E1B329F for <nfsv4@ietfa.amsl.com>; Thu, 17 Dec 2015 19:46:49 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.999
X-Spam-Level:
X-Spam-Status: No, score=-1.999 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, SPF_PASS=-0.001] autolearn=ham
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id tIpu4EbFpe6m for <nfsv4@ietfa.amsl.com>; Thu, 17 Dec 2015 19:46:47 -0800 (PST)
Received: from mail-oi0-x235.google.com (mail-oi0-x235.google.com [IPv6:2607:f8b0:4003:c06::235]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 80F5E1B329D for <nfsv4@ietf.org>; Thu, 17 Dec 2015 19:46:47 -0800 (PST)
Received: by mail-oi0-x235.google.com with SMTP id l9so25015060oia.2 for <nfsv4@ietf.org>; Thu, 17 Dec 2015 19:46:47 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=lAyarGnwFD7l/Z/3lgMdXAg6QOFdgWXQGYjDXPfeXV8=; b=yaWduv6Jtrbgnsl0ohMFtiuscDLreysOMikeaV7S9/7mF0NTzaIcFvRBZFcTPWF/WV Co33nX0sTDdXTB85TToaO9AuHESehX2ZRt5S9Esb/iwXhjKxNGusjyrHbkqHlTGNWOPK OX9Q1kaJxKK6AYaNiRdz+/1Hai2wQO+7YYfwDFhhkQYxw9Q+rfxnKeSpgDAtxyPcC1Db mpPTaKzRBjzQ2228knan53C+IJIpIAO5RbZF/SX2dnpqYgUzwc7FJa9Q/rPJzLue9zs0 ADRifey7bIXe64D8ZYbVP9YStYUVx4fyBGrGiphEH1b5rPS/UmO3FOUPhqrjKGP2aoOi 6wcQ==
MIME-Version: 1.0
X-Received: by 10.202.229.132 with SMTP id c126mr572603oih.112.1450410406777; Thu, 17 Dec 2015 19:46:46 -0800 (PST)
Received: by 10.182.165.102 with HTTP; Thu, 17 Dec 2015 19:46:46 -0800 (PST)
In-Reply-To: <2EE02221-E9C5-4087-AFA6-1A1D52308C0C@netapp.com>
References: <2EE02221-E9C5-4087-AFA6-1A1D52308C0C@netapp.com>
Date: Thu, 17 Dec 2015 22:46:46 -0500
Message-ID: <CADaq8jfxrJDvtfhEVeGMXkD4PLFcv5sfBP4g4B6VUfdhB_Ks2w@mail.gmail.com>
From: David Noveck <davenoveck@gmail.com>
To: "Adamson, Andy" <William.Adamson@netapp.com>
Content-Type: multipart/alternative; boundary="001a1141b7e0131cd2052723fdc6"
Archived-At: <http://mailarchive.ietf.org/arch/msg/nfsv4/ShW03xYKRZ9Kr3idT8hu5E8h30E>
Cc: NFSv4 <nfsv4@ietf.org>
Subject: Re: [nfsv4] What error to return if destination server fails to READ within cnr_lease_time
X-BeenThere: nfsv4@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: NFSv4 Working Group <nfsv4.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/nfsv4>, <mailto:nfsv4-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/nfsv4/>
List-Post: <mailto:nfsv4@ietf.org>
List-Help: <mailto:nfsv4-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/nfsv4>, <mailto:nfsv4-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 18 Dec 2015 03:46:49 -0000

> 1) What is the error returned by the source server on the READ?

> It’s not NFS4ERR_EXPIRED

I would not be so quick to dismiss this.  See below.

> as this refers to the clients lease

Normally it does but since there is no NFS4ERR_CNR_LEASE_EXPIRED, I think
it is a reasonable accommodation.

> and will promt the client to recover the stateid.

It would if the client got it, but the client is not going to get it in
this case.  The destination server is going to get it and he could
reasonably conclude that either:

   - The client's lease has expired
   - cnr_lease_time has expired

It would be nice if he could know which of these two occurred but it is not
essential.  In either case, the COPY has to be failed and the client will
find soon out enough whether his lease for the source server has expired or
not.  If it has, he is in a position to re-establish it.

Another possibility is NFS4ERR_ADMIN_REVOKED if you want to distinguish
this from a true lease expiration.


> 2) What is the error returned by the destination server on the COPY?

One possibility is NFS4ERR_PARTNER_NO_AUTH.  That's an exact fit if you
know cnr_lease_time expired.  It's kind of a rough ft if either lease could
have expired.

If you are unsure of the specfic lease expiration causing the failure,
NFS4ERR_OFFLOAD_DENIED seems like it would do what you want.

On Thu, Dec 17, 2015 at 3:42 PM, Adamson, Andy <William.Adamson@netapp.com>
wrote:

> From draft-ietf-nfsv4-minorversion2-39 Section 15.3.3.  DESCRIPTION of
> COPY_NOTIFY:
>
>    If this operation succeeds, the source server will allow the
>    cna_destination_server to copy the specified file on behalf of the
>    given user as long as both of the following conditions are met:
>
>
>       The destination server begins reading the source file before the
>       cnr_lease_time expires.
>
>
>
> So on an inter-SSC the source server starts the cnr_lease_time upon the
> reply to COPY_NOTIFY, and
> if the cnr_lease_time expires prior to the beginning of the READ from the
> source
>  server, the source server fails the READ.
>
> 1) What is the error returned by the source server on the READ?
>
> It’s not NFS4ERR_EXPIRED as this refers to the clients lease and will
> promt the client to recover the stateid.
>
>
> 2) What is the error returned by the destination server on the COPY?
>
> I would hope it is the same error as returned by READ.
>
> Do we need a new error code?
>
> Suggestions?
>
> —>Andy
>
> _______________________________________________
> nfsv4 mailing list
> nfsv4@ietf.org
> https://www.ietf.org/mailman/listinfo/nfsv4
>