Subject: Re: [nfsv4] NFSv4.1 & fed-fs

From: Daniel Ellard <[email-masked]>
Date: Fri, 30 Jan 2009 13:46:09 -0500

I'm sure other folks will supply more detailed answers (particularly with
regard to the history) but here is a quick response.

On Fri, Jan 30, 2009 at 12:48 PM, Christian Bandulet - Principal Field
Technologist <[email-masked]> wrote:
> Daniel, Spencer, James,
>
> I browsed through the following documents in order to understand the basic
> idea of fed-fs:
>
> http://www.ietf.org/internet-drafts/draft-ietf-nfsv4-federated-fs-reqts-01.txt
> http://www.ietf.org/internet-drafts/draft-ietf-nfsv4-federated-fs-protocol-00.txt
>
>
> I understood that fed-fs can stitch together NFSv4 namespaces - i.e.
> dynamically and transparently for the clients...
>
> After that reading additional questions came up to my mind:
>
> - NFSv4.1 can also create a global namespace via "referrals"....
>  how is the NFSv4.1 fs_location_info attribute which is used for referrals
> populated if you don't have a NSDB like fed-fs?

How it is populated is an open question, or at least not specified
in the v4.1 protocol.  Addressing this in a uniform manner is one
of the central goals of the fed-fs work.

> - NFSv4.0 has a fs_location attribute but doesn't provide referrals...
>  what is the purpose of the fs_location attribute in NFSv4.0.  I thought
> NFSv4.0 didn't provide a multi-server namespace?

This is not really different; just the way it is described looks different.
Quoting from the spec:

   The fs_locations attribute provides a list of filesystem locations.
   These locations are specified by providing the server name (either
   DNS domain or IP address) and the path name representing the root of
   the filesystem.  Depending on the type of service being provided, the
   list will provide a new location or a set of alternate locations for
   the filesystem.  The client will use this information to redirect its
   requests to the new server.

When the client gets an "ERR_MOVED" (or ERR_LEASE_MOVED, if I
remember correctly) then the fs_locations are used to provide a list of
alternative locations where the fs (whether a replica, or the migration
of the original fileset) can be found.

The fact that the v4 spec doesn't mention "referrals" is because that
use of this feature hadn't been clearly articulated yet.  If I remember
correctly, referrals weren't mentioned in early versions of 4.1, either --
I don't think it appeared until draft 3, even though all the mechanism
was in place and the ideas had been floating around for a while.

-Dan
_______________________________________________
nfsv4 mailing list
[email-masked]
https://www.ietf.org/mailman/listinfo/nfsv4

---

From: Christian Bandulet - Principal Field Technologist <[email-masked]>
Date: Fri, 30 Jan 2009 18:48:38 +0100

Daniel, Spencer, James,

I browsed through the following documents in order to understand the 
basic idea of fed-fs:

- NFSv4.1 can also create a global namespace via "referrals"....
  how is the NFSv4.1 fs_location_info attribute which is used for 
referrals populated if you don't have a NSDB like fed-fs?

- NFSv4.0 has a fs_location attribute but doesn't provide referrals...
  what is the purpose of the fs_location attribute in NFSv4.0.  I 
thought NFSv4.0 didn't provide a multi-server namespace?
  I believe that there were expressions similar like "single-server 
namespace" and "pseudo filesystem" related to NFSv4.0 and that 
"multi-server     namespace" was introduced only with NFSv4.1.

Have a great day,
Christian

-- 
====================================================================
Christian Bandulet                         Sun Microsystems
Principal Engineer                         Amperestr. 6
Data Management Ambassador                 D-63225 Langen
                                           Germany
                                           Tel.: +49-6103-752-142
                                           (Sun: x65142)
                                           Fax.: +49-6103-752-299

mailto:[email-masked]
http://www.sun.com

===================================================================== 
Sitz der Gesellschaft: Sun Microsystems GmbH, Sonnenallee 1, D-85551 Kirchheim-Heimstetten
Amtsgericht Muenchen: HRB 161028
Geschaeftsfuehrer: Thomas Schroeder, Wolfgang Engels, Dr. Roland Boemer
Vorsitzender des Aufsichtsrates: Martin Haering 
=====================================================================

---

From: Robert Thurlow <[email-masked]>
Date: Fri, 30 Jan 2009 13:35:09 -0700

> referrals populated if you don't have a NSDB like fed-fs?

NFSv4.1 does not specify this, so without FedFS you're left
making something up in a non-standard way.  Our testing at
places like Connectathon was generally supported by vendors'
use of new share options to insert referrals data by hand
on an ad-hoc basis; some have talked about using back-end
name service queries to find the information dynamically.
As a result, fs_locations/fs_locations_info are not widely
implemented and used yet, and we hope FedFS will help.

> "multi-server     namespace" was introduced only with NFSv4.1.

There's one more part to the history: after NFSv4.0 was done,
Dave Noveck and Carl Burnett wrote some drafts about how a
NFS4ERR_MOVED migration event could be repurposed to give the
client a referral, and worked up some rules for how this should
be done.  The thought experiments and the implementation experience
lead to the NFSv4.1 language about referrals.

Rob T