[nfsv4] [FedFS] XDR encoding of path "/"

James Lentini <jlentini@netapp.com> Wed, 13 October 2010 14:16 UTC

Return-Path: <jlentini@netapp.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 2B22B3A6959 for <nfsv4@core3.amsl.com>; Wed, 13 Oct 2010 07:16:32 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -5.812
X-Spam-Level:
X-Spam-Status: No, score=-5.812 tagged_above=-999 required=5 tests=[AWL=0.787, BAYES_00=-2.599, RCVD_IN_DNSWL_MED=-4]
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 g9TibTJSSfV4 for <nfsv4@core3.amsl.com>; Wed, 13 Oct 2010 07:16:26 -0700 (PDT)
Received: from mx2.netapp.com (mx2.netapp.com [216.240.18.37]) by core3.amsl.com (Postfix) with ESMTP id A48633A6961 for <nfsv4@ietf.org>; Wed, 13 Oct 2010 07:16:07 -0700 (PDT)
X-IronPort-AV: E=Sophos;i="4.57,325,1283756400"; d="scan'208";a="466906993"
Received: from smtp1.corp.netapp.com ([10.57.156.124]) by mx2-out.netapp.com with ESMTP; 13 Oct 2010 07:17:09 -0700
Received: from jlentini-linux.hq.netapp.com (jlentini-linux.hq.netapp.com [10.97.16.21]) by smtp1.corp.netapp.com (8.13.1/8.13.1/NTAP-1.6) with ESMTP id o9DEH80F003517; Wed, 13 Oct 2010 07:17:09 -0700 (PDT)
Date: Wed, 13 Oct 2010 10:17:08 -0400
From: James Lentini <jlentini@netapp.com>
X-X-Sender: jlentini@jlentini-linux.nane.netapp.com
To: nfsv4@ietf.org
Message-ID: <alpine.LFD.2.00.1010130934190.4707@jlentini-linux.nane.netapp.com>
User-Agent: Alpine 2.00 (LFD 1167 2008-08-23)
MIME-Version: 1.0
Content-Type: TEXT/PLAIN; charset="US-ASCII"
Subject: [nfsv4] [FedFS] XDR encoding of path "/"
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: Wed, 13 Oct 2010 14:16:32 -0000

At the BAT, Chuck Lever and I discussed what the pathname4 encoding of 
"/" should be.

In addition to being used by the fs_locations and fs_locations_info 
attributes, the pathname4 format is used by the fedfsNfsPath LDAP 
attribute (see Section 4.2.1.14 of 
draft-ietf-nfsv4-federated-fs-protocol-09), and the FedFsPathName XDR 
type (see draft-ietf-nfsv4-federated-fs-admin-07).

I'm aware of two different approaches to encoding "/".

One interpretation is to encode an array with zero compnent4 values. 
This encoding is a single 32-bit field containing a 0. The Linux NFS 
server and the SNSDB tools use this format.

Another interpretation is to encode an array with one zero-length 
component4 value. The encoding of this is a 32-bit field containing a 
1 followed by a 32-bit field containing a 0.

The Linux NFS client appears to accept both of these encodings for 
"/".

Are there any implementations using a different encoding than the ones 
above?

I'm thinking it would make sense to record these different formats or 
recommend the use of a specific format in one (or both) of the FedFS 
specifications.

-james