[ Somehow the automatic message didn't go out. ]

I'm sponsoring the following for fast track approval.  The timer expires 14
October 2009.

Template Version: @(#)onepager.txt 1.35 07/11/07 SMI
Copyright 2007 Sun Microsystems

1. Introduction
    1.1. Project/Component Working Name:
         SMB/CIFS Standalone DFS

    1.2. Name of Document Author/Supplier:
         Author: Afshin Salek

    1.3. Date of This Document:
         10/01/09
        
    1.4. Name of Major Document Customer(s)/Consumer(s):
         PSARC
        CIFS team

    1.5. Email Aliases:
        1.5.1. Responsible Manager: Barry.Greenberg at Sun.COM
        1.5.2. Responsible Engineer: Afshin.Ardakani at Sun.COM
        1.5.3. Marketing Manager:
        1.5.4. Interest List: cifs-team at sun.com

    A patch binding is requested for this change.       

4. Technical Description:
     4.1. Details:

    This is a follow on case to PSARC 2009/399 "Reparse Points and Referral
    Umbrella Case" to introduce support for SMB/CIFS standalone DFS namespaces.


INTRODUCTION

    The Distributed File System (DFS) is a Microsoft technology delivered
    over the SMB/CIFS and MSRPC protocols.

    DFS allows administrators to group shared folders located on different
    servers by transparently connecting them to one or more DFS namespaces.
    A DFS namespace is a virtual view of shared folders in an organization.
    An administrator can select which shared folders to present in the
    namespace, design the hierarchy in which those folders appear and
    determine the names that the shared folders show in the namespace.
    When a user views the namespace, the folders appear to reside in a single,
    high-capacity file system.  Users can navigate the folders in the
    namespace without needing to know the server names or shared folders
    hosting the data.  DFS also provides many other benefits, including fault
    tolerance and load-sharing capabilities, making it an attractive feature
    for many organizations.

DFS TERMINOLOGY

    DFS namespace       A virtual view of shared folders on different servers
                        as provided by DFS.  A DFS namespace consists of a
                        root and many links and targets.  The namespace starts
                        with a root that maps to one or more root targets.
                        Below the root are links that map to their own targets.

    DFS link            A component in a DFS path that lies below the root and
                        maps to one or more link targets.

    DFS path            Any Universal Naming Convention (UNC) path that starts
                        with a DFS root.

    DFS root            The starting point of the DFS namespace.  The root is
                        often used to refer to the namespace as a whole.
                        A root maps to one or more root targets, each of which
                        corresponds to a shared folder on a separate server.
                        A DFS root has one of the following formats:
                        \\ServerName\RootName or \\DomainName\RootName.

    domain-based DFS namespace
                        A DFS namespace that has configuration information
                        stored in Active Directory (AD).  The path to access
                        the root or a link starts with the host domain name.
                        A domain-based DFS root can have multiple root targets,
                        which offers fault tolerance and load sharing.

    link referral       A type of referral that contains a list of link targets
                        for a particular link.

    link target         The mapping destination of a link. A link target can
                        be any UNC path.  For example, a link target could be
                        a shared folder or another DFS path.

    referral            A list of targets, transparent to the user, that a DFS
                        client receives from DFS when the user is accessing
                        a root or a link in the DFS namespace.  Referral
                        information may be cached on DFS clients for a time
                        period specified in the DFS configuration.

    root referral       A type of referral that contains a list of root
                        targets for a particular root.

    root target         A physical server that hosts a DFS namespace.
                        A domain-based DFS root can have multiple root targets,
                        whereas a standalone DFS root can only have one root
                        target.  Root targets are also called root servers.

    standalone DFS namespace
                        A DFS namespace whose configuration information is
                        stored locally on the the root server.  The path to
                        access the root or a link starts with the root server
                        name.  A standalone DFS root has only one root target.
                        Standalone roots are not fault tolerant; when the root
                        target is unavailable, the entire DFS namespace is
                        inaccessible.  Fault tolerance can be added externally
                        with the use of server clusters.

SIMPLIFIED REFERRAL PROCESS FOR STANDALONE NAMESPACES

    1. A user attempts to access a DFS path, such as by typing
       \\Software\Public\Documents in the Run dialog box.

    2. The DFS client computer sends a query to the root server hosting
       the standalone namespace.

    3. The root server returns a root referral to the client.
       The root referral contains the single root target.

    4. The client requests a link target from the root server.

    5. The root server constructs a list of link targets in the referral
       and returns this to the client.

    6. The client selects a link target and establishes a connection.


STANDALONE NAMESPACES IN SOLARIS

    The DFS root is a share that must reside on a ZFS dataset.  A new boolean
    share property, dfsroot, will mark a share as a DFS root share to
    distinguish it from regular shares.  The dfsroot property will not be
    defined by default, which is equivalent to a value of false.  The dfsroot
    property can be managed locally, as a share property, or by Windows
    clients using Windows utilities to connect to the DFS and SRVSVC MSRPC
    services, which are available in the CIFS Service (PSARC 2006/715).

    DFS root shares need to be distinguished from regular shares so that
    the server can indicate to clients that a particular share is a
    DFS root share, which is done with a flag on tree connect responses.
    When connected to a DFS root share, clients use UNC paths to access
    objects within the namespace rather than relative paths.  With regular
    shares, paths are assumed to be relative to the shared directory.
    Also, for compatibility with Windows behavior, DFS root shares cannot
    be removed or unshared remotely over SMB and MSRPC.  Local management
    will be no different from regular shares.

    Only one standalone DFS namespace is supported per system.  Multiple DFS
    namespace support will be available in a future project based on Active
    Directory (AD) domain-based DFS namespaces.  Once domain-based namespaces
    are supported, the CIFS Service will also support multiple standalone
    DFS namespaces - these are tied together by the DFS support level that
    is announced by a server.

    DFS links within a namespace are represented using reparse points
    (PSARC 2009/387).  The service type will be smb-dfs and a reparse plugin
    will be delivered to support this service type.  The link target format
    used to store smb-dfs service type data can be considered opaque, even
    though it will be visible in the reparse point, since no local tools will
    be provided to create or manage DFS referrals and they will be interpreted
    by the dfs-smb reparse point plugin library.  DFS referrals will be
    managed using Windows desktop or command line utilities and the referral
    content will be driven by the data that needs to be stored on behalf of
    the management applications.


INTERFACE TABLE

Imported interfaces
                           |Specified      |
                           |in what        |
   Interface Name          |Document?      |Comments
   ============================================================
    XAT_REPARSE            |PSARC 2009/387 |Reparse extensible
                           |Private        |attribute
                           |               |
    reparse_kderef         |PSARC 2009/387 |Reparse kernel
    reparse_init           |               |routines
    reparse_parse          |               |
    reparse_free           |               |
                           |               |
    /usr/lib/              |PSARC 2009/387 |Reparse library
    libreparse.so.1        |               |routines and ops
                           |               |

Exported interfaces

                           |Proposed       |Specified   |
                           |Stability      |in what     |
   Interface Name          |Classification |Document?   | Comments
   
==============================================================================
    reparse point syntax   |Committed      |            |Service type "smb-dfs"
    for DFS referrals      |Private        |            |
                           |               |            |
    /usr/lib/reparse/      |Committed      |            |Reparse point plugin
    libsmb_dfs.so.1        |Private        |            |
                           |               |            |


REFERENCES

    [1] DFS Technical Reference
        http://technet.microsoft.com/en-us/library/cc757042(WS.10).aspx

    [2] Distributed File System (DFS): Namespace Management Protocol
        Specification
        http://msdn.microsoft.com/en-us/library/cc227078%28PROT.10%29.aspx

    [3] Distributed File System (DFS): Referral Protocol Specification
        http://msdn.microsoft.com/en-us/library/cc226982(PROT.10).aspx


     4.2. Bug/RFE Number(s):
          6711751

     4.6. Doc Impact:

          Solaris CIFS Administration Guide

          Modifications to sharemgr(1M) man page:
          -------------------------------------------------------------------
          The general properties supported for SMB are:

+        dfsroot=boolean        
+
+           Marks a share as a DFS root share to distinguish it from regular
+           shares.  dfsroot is not defined by default.  If dfsroot is false
+           or not defined, the share is not a dfs root share.

6. Resources and Schedule:

    6.4. Product Approval Committee requested information:
        6.4.1. Consolidation or Component Name:
               ON

    6.5. ARC review type:
         FastTrack

Reply via email to