Re: [nfsv4] [FedFS] proposed ADMIN protocol procedure to enumerate server's NSDB store

Nicolas Williams <Nicolas.Williams@oracle.com> Thu, 08 July 2010 17:40 UTC

Return-Path: <Nicolas.Williams@oracle.com>
X-Original-To: nfsv4@core3.amsl.com
Delivered-To: nfsv4@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 02BE63A6847 for <nfsv4@core3.amsl.com>; Thu, 8 Jul 2010 10:40:51 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -6.598
X-Spam-Level:
X-Spam-Status: No, score=-6.598 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, RCVD_IN_DNSWL_MED=-4, UNPARSEABLE_RELAY=0.001]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id OafFPgw69Xln for <nfsv4@core3.amsl.com>; Thu, 8 Jul 2010 10:40:50 -0700 (PDT)
Received: from rcsinet10.oracle.com (rcsinet10.oracle.com [148.87.113.121]) by core3.amsl.com (Postfix) with ESMTP id 1D7B93A679F for <nfsv4@ietf.org>; Thu, 8 Jul 2010 10:40:50 -0700 (PDT)
Received: from acsinet15.oracle.com (acsinet15.oracle.com [141.146.126.227]) by rcsinet10.oracle.com (Switch-3.4.2/Switch-3.4.2) with ESMTP id o68Heqdd013218 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK) for <nfsv4@ietf.org>; Thu, 8 Jul 2010 17:40:54 GMT
Received: from acsmt354.oracle.com (acsmt354.oracle.com [141.146.40.154]) by acsinet15.oracle.com (Switch-3.4.2/Switch-3.4.1) with ESMTP id o68AtKhe023348 for <nfsv4@ietf.org>; Thu, 8 Jul 2010 17:40:51 GMT
Received: from abhmt008.oracle.com by acsmt354.oracle.com with ESMTP id 410167921278610783; Thu, 08 Jul 2010 10:39:43 -0700
Received: from oracle.com (/129.153.128.104) by default (Oracle Beehive Gateway v4.0) with ESMTP ; Thu, 08 Jul 2010 10:39:42 -0700
Date: Thu, 08 Jul 2010 12:42:28 -0500
From: Nicolas Williams <Nicolas.Williams@oracle.com>
To: Chuck Lever <chuck.lever@oracle.com>
Message-ID: <20100708174228.GG17986@oracle.com>
References: <4C35F555.1060604@oracle.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <4C35F555.1060604@oracle.com>
User-Agent: Mutt/1.5.20 (2010-03-02)
X-Source-IP: acsmt354.oracle.com [141.146.40.154]
X-Auth-Type: Internal IP
X-CT-RefId: str=0001.0A090204.4C360DA4.0045:SCFMA4539814,ss=1,fgs=0
Cc: nfsv4@ietf.org
Subject: Re: [nfsv4] [FedFS] proposed ADMIN protocol procedure to enumerate server's NSDB store
X-BeenThere: nfsv4@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: NFSv4 Working Group <nfsv4.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/nfsv4>, <mailto:nfsv4-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/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: Thu, 08 Jul 2010 17:40:51 -0000

On Thu, Jul 08, 2010 at 11:57:09AM -0400, Chuck Lever wrote:
>    union FedFsGetNsdbNamesRes switch (FedFsStatus status) {
>     case FEDFS_OK:
>            FedFsGetNsdbNamesResOk   resok;
>     case FEDFS_ERR_NSDB_TOO_SMALL:
>            FedFsGetNsdbNamesResTS   restoosmall;
>     default:
>            void;
>    };
> 
>      ...
> 
>    FEDFS_ERR_NSDB_PARAMS  The fileserver does not have any connection
>       parameters on record for the specified NSDB.
> 
>    FEDFS_ERR_NSDB_NOT_SAME  The cookie/verifier pair passed in a
>       FEDFS_GET_NSDB_NAMES request is no longer valid.

NOT_SAME seems insufficiently descriptive.  How about
FEDFS_ERR_NSDB_INVALID_COOKIE?

>    FEDFS_ERR_NSDB_TOO_SMALL  The caller specified a maxcount that is
>       not large enough to hold the next FedFsNsdbName in a
>       FEDFS_GET_NSDB_NAMES result
> 
>   ...
>    The maxcount field is a hint of the maximum number of bytes of NSDB
>    information that should be returned in the reply.  This value
>    represents the total length of NSDB names, after XDR encoding, and
>    not the length of the native format of the NSDB names on the ADMIN
>    server.  If the server is unable to fit a single name within the
>    maxcount limit, the error FEDFS_ERR_NSDB_TOO_SMALL MUST be returned.
>    The number of XDR bytes needed to return the next name MUST be placed
>    in the reply's maxcount field.  The server also returns a
>    cookie/verifier pair that is needed to read this value (usually
>    unchanged from the previous failed FEDFS_GET_NSDB_NAMES request).

Why should one tell the server a max reply size instead of a max number
of NSDBs whose params to return?

Why shouldn't the server decide how many NSDBs to list in a single RPC
result instead?

Nico
--