[Federated-fs] Diffs for latest reqts draft
Ellard, Daniel
Daniel.Ellard at netapp.com
Thu Apr 24 11:31:04 PDT 2008
As suggested during the conf call, here are the diffs (for the XML
source, unfortunately) between the most recently posted draft and the
prior version.
< is the old version
> is the newer version
Requirement 1 has the first set of changes, but the context overlaps
with requirement 2, so I'm using the comment <<REQUIREMENT 2>> to note
the transition.
-Dan
***************
*** 677,789 ****
</t>
</list>
</t>
</section>
<section title="Requirements">
<t>
<list style="format R%d:">
! <t> USING THE FEDERATION INTERFACES, and given an FSL,
! it MUST be possible for an entity to discover,
! from the server specified in the FSL, the globally
! unique and platform-independent name (FSN) of the
! fileset, if any, associated with that FSL at that
! time.
<list style="format %c.">
<t> Each FSN MUST be globally unique. </t>
<t> The FSN MUST be sufficiently descriptive
to locate an instance of the fileset it
names within the federation at any time.
</t>
! <t> The FSN is the name of the fileset, not
! the FSLs.
<list style="symbols">
<t> If a fileset instance is moved to
a new location, it will have a new
! FSL but the same FSN in the new
! location. </t>
! <t> If an instance of a different
! fileset is placed at the old
! location, and that fileset has an
! FSN, then the FSL will be
! associated with a different FSN
! from the previous. </t>
</list> </t>
! <t> If a FSL is migrated to another server
! using the federation interfaces, the FSN
! remains the same in the new location.
! </t>
<t> If the fileset is replicated using the
federation interfaces, then all of the
replicas have the same FSN. </t>
</list>
Not all filesets in the federation are required to
have a FSN or be reachable by a FSL. Only those
filesets that are the target of a junction (as
described in R3) are required to have an FSN.
<vspace blankLines="1" />
NOTE: this requirement has been called into
question.
</t>
<<REQUIREMENT 2>>
<t> USING THE FEDERATION INTERFACES, it MUST be
! possible to "promote" a fileset exported by a
! federation server to become an FSL, and bind that
! FSL to a FSN.
<vspace blankLines="1" />
! The presumption is that the local administrator of
! a server performs this process by creating a local
! fileset and then makes this fileset accessible to
! the federation via an FSL, and create a mapping to
! this FSL from a new or existing FSN. It MAY also
! be possible to create an fileset, assign it an
! FSL, and add a binding from an FSN to that FSL,
! all a single operation, but to an external
! observer this is indistinguishable from the
! "promotion" of a local fileset.
<vspace blankLines="1" />
! Note that it is the responsibility of the entity
! performing the promotion to ensure that the
! fileset can, indeed, be used as an FSL (and remove
! the mapping from the FSN to this FSL if or when
! this becomes untrue).
<list style="format %c.">
- <t> USING THE FEDERATION INTERFACES, the
- administrator MUST specify the identity of
- the NSDB node responsible for managing the
- mappings between the FSN and the FSL
- before the FSL can be bound to a FSN.
- </t>
-
<t> An administrator MAY specify the entire
FSN (including both the NSDB node location
and the junction key) of the newly-created
FSL, or the administrator MAY specify only
the NSDB node and have the system choose
the junction key.
<vspace blankLines="1" />
The admin can choose to specify the FSN
--- 677,791 ----
</t>
</list>
</t>
</section>
<section title="Requirements">
<t>
<list style="format R%d:">
! <t> Requirements of each FSN:
<list style="format %c.">
<t> Each FSN MUST be globally unique. </t>
<t> The FSN MUST be sufficiently descriptive
to locate an instance of the fileset it
names within the federation at any time.
</t>
! <t> An FSN is a name of a fileset. (An FSL is
! not the name of a fileset, but only a
! locator of an instance of a fileset at
! some point in time. For example, the same
! FSL may implement different filesets at
! different times.)
<list style="symbols">
<t> If a fileset instance is moved to
a new location, it will have a new
! FSL, but its FSN is unchanged.
! </t>
! <t> An instance of a different fileset
! may be placed at a FSL previously
! occupied by an instance of a
! different fileset. </t>
</list> </t>
! <t> If a fileset instance is migrated to
! another location, the FSN remains the same
! in the new location. </t>
<t> If the fileset is replicated using the
federation interfaces, then all of the
replicas have the same FSN. </t>
</list>
Not all filesets in the federation are required to
have a FSN or be reachable by a FSL. Only those
filesets that are the target of a junction (as
described in R3) are required to have an FSN.
<vspace blankLines="1" />
NOTE: this requirement has been called into
question.
</t>
<<REQUIREMENT 2>>
<t> USING THE FEDERATION INTERFACES, it MUST be
! possible to create an FSN for a fileset, and
! it must be possible to bind an FSL to that FSN.
! These operations are NSDB operations and do
! not require any action on the part of an NFS
! server.
<vspace blankLines="1" />
! It is possible to create an FSN for a fileset that
! has not actually been created. It is also
! possible to bind a nonexistant FSL to an FSN. It
! is also possible to create a fileset without
! assigning it an FSN. The binding between an FSN
! and an FSL is defined entirely within the context
! of the NSDB; the servers do not "know" whether the
! filesets they host have been assigned FSNs (or, if
! so, what those FSNs are).
<vspace blankLines="1" />
! The requirement that filesets can exist prior to
being
! assigned an FSN, and the requirement that FSNs can
exist
! independent of filesets are intended to simplify
! the construction of the namespace in a convenient
! manner. For example, they permit an admin to
! assign FSNs to existing filesets and thereby
incorporate
! existing filesets into the namespace. They also
! permit the structure of the namespace to be defined
! prior to creation of the component filesets.
! In either case,
! it is the responsibility of the entity
! updating the NSDB with FSNs and FSN-to-FSL mappings
! to ensure that the namespace is constructed in
! a consistent manner. (The simplest way to
accomplish
! this is to ensure that the FSN and FSN-to-FSL
mappings
! are always recorded in the NSDB prior to the
creation
! of any junctions that refer to that FSN.)
<list style="format %c.">
<t> An administrator MAY specify the entire
FSN (including both the NSDB node location
and the junction key) of the newly-created
FSL, or the administrator MAY specify only
the NSDB node and have the system choose
the junction key.
<vspace blankLines="1" />
The admin can choose to specify the FSN
***************
*** 932,983 ****
-- it only changes the mappings from FSNs to FSLs on
the NSDB.
</t>
<t> It MUST be possible for the federation of servers to
provide multiple namespaces. </t>
<t> USING THE FEDERATION INTERFACES, it MUST be possible
to perform queries about the state of objects
relevant
! to the implementation of the federation namespace:
!
! <list style="format %c.">
! <t> It SHOULD be possible to query a fileserver
to
! get a list of exported filesets and the
export
! paths.
!
! <vspace blankLines="1" />
!
! This information is necessary to bootstrap
the
! namespace construction.
!
! </t>
!
! <t> It MUST be possible to query the fileserver
! named in a FSL to get attributes, such as
the
! appropriate mount options, for the
underlying
! filesystem for that FSL.
!
! <vspace blankLines="1" />
!
! This information is necessary for the
! client to properly access the FSL.
!
! </t>
! <t> It MUST be possible to query the fileserver
! named in an FSL to discover whether a
junction
! exists at a given path within that FSL.
</t>
- </list>
</t>
<t> The projected namespace (and the objects named by
the
namespace) MUST be accessible to clients via at
least
one standard filesystem access protocol.
<list style="format %c.">
<t> The namespace SHOULD be accessible to
clients
via the CIFS protocol. </t>
--- 934,961 ----
-- it only changes the mappings from FSNs to FSLs on
the NSDB.
</t>
<t> It MUST be possible for the federation of servers to
provide multiple namespaces. </t>
<t> USING THE FEDERATION INTERFACES, it MUST be possible
to perform queries about the state of objects
relevant
! to the implementation of the federation namespace.
! <vspace blankLines="1" />
! It MUST be possible to query the fileserver
! named in an FSL to discover whether a junction
! exists at a given path within that FSL.
</t>
<t> The projected namespace (and the objects named by
the
namespace) MUST be accessible to clients via at
least
one standard filesystem access protocol.
<list style="format %c.">
<t> The namespace SHOULD be accessible to
clients
via the CIFS protocol. </t>
More information about the Federated-fs
mailing list