From Fedora Project Wiki
Line 69: Line 69:
== Contingency Plan ==
== Contingency Plan ==
<!-- If you cannot complete your feature by the final development freeze, what is the backup plan?  This might be as simple as "None necessary, revert to previous release behaviour."  Or it might not.  If you feature is not completed in time we want to assure others that other parts of Fedora will not be in jeopardy.  -->
<!-- If you cannot complete your feature by the final development freeze, what is the backup plan?  This might be as simple as "None necessary, revert to previous release behaviour."  Or it might not.  If you feature is not completed in time we want to assure others that other parts of Fedora will not be in jeopardy.  -->
If this can't be completed in time, we simply won't ship with FedFS enabled, or may just ship the client side pieces initially.
If this can't be completed in time, we simply won't ship fedfs-utils, or may just ship the client side pieces initially.
 
Alternately we could ship the packages and simply call the feature as broken until it can be resolved. There's little risk in any of these cases.


== Documentation ==
== Documentation ==

Revision as of 17:20, 31 August 2011

FedFS

Summary

RFC 5716 introduces the Federated File System (FedFS, for short). FedFS is an extensible standardized mechanism by which system administrators construct a coherent namespace across multiple file servers using file system referrals.

Owner

  • Email: jlayton@redhat.com

Current status

  • Targeted release: Fedora 17
  • Last updated: August 31, 2011
  • Percentage of completion: 10%


Detailed Description

RFC 5716 introduces the Federated File System (FedFS, for short). FedFS is an extensible standardized mechanism by which system administrators construct a coherent namespace across multiple file servers using file system referrals.

A file system referral is like a symbolic link to another file system share, but it is not visible to applications. It behaves like an automounted directory where a new file system mount is done when an application first accesses that directory. The arguments of the mount operation are controlled by information returned by the file server.

Today, file system referral mechanisms exist in several network file system protocols. FedFS provides its namespace features by leveraging referral mechanisms already built in to network file system protocols. Thus no change to file system protocols or clients is required.

Currently, the Linux FedFS implementation supports only NFS version 4 referrals. More on NFS version 4 referrals can be found in RFC 3530. FedFS may support other network file system protocols in the future.

Benefit to Fedora

See detailed description. As this is an emerging standard, we want Fedora to be one of the first operating systems to support it.

Scope

Much of the work for this has already been done. Chuck Lever of Oracle has done an implementation of the required userspace tools for this, and I have an initial specfile to package them. There are also some relatively modest kernel patches required that should hopefully make 3.2. We'll probably also need to do some documentation and/or articles describing how to set up both the client and server for FedFS.

How To Test

(FIXME: Make this less skeletal)

  1. set up fedfs domain and server(s)
  2. set up fedfs clients
  3. test that fedfs referrals work


User Experience

The casual Fedora user won't see any changes with this. This should only change the experience for someone who makes the effort to set up and use FedFS.

Dependencies

There are some kernel patches required, but they are fairly modest in scope, and are likely to make it into 3.2.

The fedfs-client package needs to ship a mount helper (mount.fedfs) that will need to be installed in /sbin. The mount helper though is currently linked to libraries in /usr/lib. That problem will also need to be resolved somehow.

Contingency Plan

If this can't be completed in time, we simply won't ship fedfs-utils, or may just ship the client side pieces initially.

Alternately we could ship the packages and simply call the feature as broken until it can be resolved. There's little risk in any of these cases.

Documentation

No upstream docs yet. We'll probably need to create some.

Release Notes

  • We'll probably just want to mention that this release supports FedFS.

Comments and Discussion