Internet Engineering Task Force (IETF)                        J. Lentini
Request for Comments: 7533                                        NetApp
Category: Standards Track                                      R. Tewari
ISSN: 2070-1721                                              IBM Almaden
                                                           C. Lever, Ed.
                                                      Oracle Corporation
                                                              March 2015
        
Internet Engineering Task Force (IETF)                        J. Lentini
Request for Comments: 7533                                        NetApp
Category: Standards Track                                      R. Tewari
ISSN: 2070-1721                                              IBM Almaden
                                                           C. Lever, Ed.
                                                      Oracle Corporation
                                                              March 2015
        

Administration Protocol for Federated File Systems

联邦文件系统的管理协议

Abstract

摘要

This document describes the administration protocol for a federated file system (FedFS) that enables file access and namespace traversal across collections of independently administered fileservers. The protocol specifies a set of interfaces by which fileservers with different administrators can form a fileserver federation that provides a namespace composed of the file systems physically hosted on and exported by the constituent fileservers.

本文档描述了联邦文件系统(FedFS)的管理协议,该协议支持跨独立管理的文件服务器集合进行文件访问和命名空间遍历。该协议指定了一组接口,通过这些接口,具有不同管理员的文件服务器可以形成文件服务器联合体,该联合体提供了一个名称空间,该名称空间由物理承载在组成文件服务器上并由组成文件服务器导出的文件系统组成。

Status of This Memo

关于下段备忘

This is an Internet Standards Track document.

这是一份互联网标准跟踪文件。

This document is a product of the Internet Engineering Task Force (IETF). It represents the consensus of the IETF community. It has received public review and has been approved for publication by the Internet Engineering Steering Group (IESG). Further information on Internet Standards is available in Section 2 of RFC 5741.

本文件是互联网工程任务组(IETF)的产品。它代表了IETF社区的共识。它已经接受了公众审查,并已被互联网工程指导小组(IESG)批准出版。有关互联网标准的更多信息,请参见RFC 5741第2节。

Information about the current status of this document, any errata, and how to provide feedback on it may be obtained at http://www.rfc-editor.org/info/rfc7533.

有关本文件当前状态、任何勘误表以及如何提供反馈的信息,请访问http://www.rfc-editor.org/info/rfc7533.

Copyright Notice

版权公告

Copyright (c) 2015 IETF Trust and the persons identified as the document authors. All rights reserved.

版权所有(c)2015 IETF信托基金和确定为文件作者的人员。版权所有。

This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (http://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Simplified BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Simplified BSD License.

本文件受BCP 78和IETF信托有关IETF文件的法律规定的约束(http://trustee.ietf.org/license-info)自本文件出版之日起生效。请仔细阅读这些文件,因为它们描述了您对本文件的权利和限制。从本文件中提取的代码组件必须包括信托法律条款第4.e节中所述的简化BSD许可证文本,并提供简化BSD许可证中所述的无担保。

This document may contain material from IETF Documents or IETF Contributions published or made publicly available before November 10, 2008. The person(s) controlling the copyright in some of this material may not have granted the IETF Trust the right to allow modifications of such material outside the IETF Standards Process. Without obtaining an adequate license from the person(s) controlling the copyright in such materials, this document may not be modified outside the IETF Standards Process, and derivative works of it may not be created outside the IETF Standards Process, except to format it for publication as an RFC or to translate it into languages other than English.

本文件可能包含2008年11月10日之前发布或公开的IETF文件或IETF贡献中的材料。控制某些材料版权的人员可能未授予IETF信托允许在IETF标准流程之外修改此类材料的权利。在未从控制此类材料版权的人员处获得充分许可的情况下,不得在IETF标准流程之外修改本文件,也不得在IETF标准流程之外创建其衍生作品,除了将其格式化以RFC形式发布或将其翻译成英语以外的其他语言。

Table of Contents

目录

   1. Introduction ....................................................4
      1.1. Definitions ................................................4
      1.2. Requirements Language ......................................6
   2. Protocol ........................................................7
   3. Error Values ...................................................12
   4. Data Types .....................................................15
      4.1. FedFsNsdbName Equality ....................................17
   5. Procedures .....................................................17
      5.1. FEDFS_NULL ................................................18
           5.1.1. Synopsis ...........................................18
           5.1.2. Description ........................................18
           5.1.3. Errors .............................................18
      5.2. FEDFS_CREATE_JUNCTION .....................................18
           5.2.1. Synopsis ...........................................18
           5.2.2. Description ........................................18
           5.2.3. Errors .............................................20
      5.3. FEDFS_DELETE_JUNCTION .....................................20
           5.3.1. Synopsis ...........................................20
           5.3.2. Description ........................................20
           5.3.3. Errors .............................................22
      5.4. FEDFS_LOOKUP_JUNCTION .....................................22
           5.4.1. Synopsis ...........................................22
           5.4.2. Description ........................................22
           5.4.3. Errors .............................................25
      5.5. FEDFS_CREATE_REPLICATION ..................................26
           5.5.1. Synopsis ...........................................26
           5.5.2. Description ........................................26
           5.5.3. Errors .............................................27
      5.6. FEDFS_DELETE_REPLICATION ..................................27
           5.6.1. Synopsis ...........................................27
           5.6.2. Description ........................................27
           5.6.3. Errors .............................................28
      5.7. FEDFS_LOOKUP_REPLICATION ..................................28
           5.7.1. Synopsis ...........................................28
           5.7.2. Description ........................................28
           5.7.3. Errors .............................................29
      5.8. FEDFS_SET_NSDB_PARAMS .....................................30
           5.8.1. Synopsis ...........................................30
           5.8.2. Description ........................................30
           5.8.3. Errors .............................................31
      5.9. FEDFS_GET_NSDB_PARAMS .....................................31
           5.9.1. Synopsis ...........................................31
           5.9.2. Description ........................................31
           5.9.3. Errors .............................................32
      5.10. FEDFS_GET_LIMITED_NSDB_PARAMS ............................32
           5.10.1. Synopsis ..........................................32
        
   1. Introduction ....................................................4
      1.1. Definitions ................................................4
      1.2. Requirements Language ......................................6
   2. Protocol ........................................................7
   3. Error Values ...................................................12
   4. Data Types .....................................................15
      4.1. FedFsNsdbName Equality ....................................17
   5. Procedures .....................................................17
      5.1. FEDFS_NULL ................................................18
           5.1.1. Synopsis ...........................................18
           5.1.2. Description ........................................18
           5.1.3. Errors .............................................18
      5.2. FEDFS_CREATE_JUNCTION .....................................18
           5.2.1. Synopsis ...........................................18
           5.2.2. Description ........................................18
           5.2.3. Errors .............................................20
      5.3. FEDFS_DELETE_JUNCTION .....................................20
           5.3.1. Synopsis ...........................................20
           5.3.2. Description ........................................20
           5.3.3. Errors .............................................22
      5.4. FEDFS_LOOKUP_JUNCTION .....................................22
           5.4.1. Synopsis ...........................................22
           5.4.2. Description ........................................22
           5.4.3. Errors .............................................25
      5.5. FEDFS_CREATE_REPLICATION ..................................26
           5.5.1. Synopsis ...........................................26
           5.5.2. Description ........................................26
           5.5.3. Errors .............................................27
      5.6. FEDFS_DELETE_REPLICATION ..................................27
           5.6.1. Synopsis ...........................................27
           5.6.2. Description ........................................27
           5.6.3. Errors .............................................28
      5.7. FEDFS_LOOKUP_REPLICATION ..................................28
           5.7.1. Synopsis ...........................................28
           5.7.2. Description ........................................28
           5.7.3. Errors .............................................29
      5.8. FEDFS_SET_NSDB_PARAMS .....................................30
           5.8.1. Synopsis ...........................................30
           5.8.2. Description ........................................30
           5.8.3. Errors .............................................31
      5.9. FEDFS_GET_NSDB_PARAMS .....................................31
           5.9.1. Synopsis ...........................................31
           5.9.2. Description ........................................31
           5.9.3. Errors .............................................32
      5.10. FEDFS_GET_LIMITED_NSDB_PARAMS ............................32
           5.10.1. Synopsis ..........................................32
        
           5.10.2. Description .......................................32
           5.10.3. Errors ............................................33
   6. Security Considerations ........................................33
   7. IANA Considerations ............................................34
   8. References .....................................................34
      8.1. Normative References ......................................34
      8.2. Informative References ....................................35
   Acknowledgments ...................................................36
   Authors' Addresses ................................................37
        
           5.10.2. Description .......................................32
           5.10.3. Errors ............................................33
   6. Security Considerations ........................................33
   7. IANA Considerations ............................................34
   8. References .....................................................34
      8.1. Normative References ......................................34
      8.2. Informative References ....................................35
   Acknowledgments ...................................................36
   Authors' Addresses ................................................37
        
1. Introduction
1. 介绍

A federated file system enables file access and namespace traversal in a uniform, secure, and consistent manner across multiple independent fileservers within an enterprise (and possibly across multiple enterprises) with reasonably good performance.

联邦文件系统支持以统一、安全和一致的方式跨企业内(可能跨多个企业)的多个独立文件服务器进行文件访问和命名空间遍历,并具有相当好的性能。

Traditionally, building a namespace that spans multiple fileservers has been difficult for two reasons. First, the fileservers that export pieces of the namespace are often not in the same administrative domain. Second, there is no standard mechanism for the fileservers to cooperatively present the namespace. Fileservers might provide proprietary management tools, and in some cases, an administrator might be able to use the proprietary tools to build a shared namespace out of the exported file systems. Relying on vendor-proprietary tools does not work in larger enterprises or when collaborating across enterprises because it is likely that the system will contain fileservers running different software, each with their own protocols, with no common protocol to manage the namespace or exchange namespace information.

传统上,构建跨多个文件服务器的名称空间非常困难,原因有二。首先,导出命名空间片段的文件服务器通常不在同一管理域中。其次,文件服务器没有标准的机制来协同呈现名称空间。文件服务器可能提供专有的管理工具,在某些情况下,管理员可以使用专有工具从导出的文件系统构建共享命名空间。依赖供应商专有工具在大型企业中或跨企业协作时不起作用,因为系统可能包含运行不同软件的文件服务器,每个软件都有自己的协议,没有管理命名空间或交换命名空间信息的通用协议。

The requirements for federated namespaces are described in [RFC5716].

[RFC5716]中描述了联邦名称空间的要求。

The protocol for federated file systems described in [RFC7532] allows fileservers from different vendors and/or with different administrators to cooperatively build a namespace.

[RFC7532]中描述的联邦文件系统协议允许来自不同供应商和/或具有不同管理员的文件服务器协作构建名称空间。

This document describes the protocol used by administrators to configure the fileservers and construct the namespace.

本文档描述管理员用于配置文件服务器和构造命名空间的协议。

1.1. Definitions
1.1. 定义

Administrator: A user with the necessary authority to initiate administrative tasks on one or more servers.

管理员:具有在一台或多台服务器上启动管理任务所需权限的用户。

Admin Entity: A server or agent that administers a collection of fileservers and persistently stores the namespace information.

管理实体:管理文件服务器集合并持久存储名称空间信息的服务器或代理。

File-Access Client: Standard off-the-shelf, network-attached storage (NAS) client software that communicates with fileservers using a standard file-access protocol.

文件访问客户端:标准现成的网络连接存储(NAS)客户端软件,使用标准文件访问协议与文件服务器通信。

Federation: A set of fileserver collections and singleton fileservers that use a common set of interfaces and protocols in order to provide to file-access clients a federated namespace accessible through a file system access protocol.

联合:一组文件服务器集合和单例文件服务器,它们使用一组通用的接口和协议,以便为文件访问客户端提供一个通过文件系统访问协议访问的联合命名空间。

Fileserver: A server that stores physical fileset data or refers file-access clients to other fileservers. A fileserver provides access to its shared file system data via a file-access protocol.

文件服务器:存储物理文件集数据或将文件访问客户端指向其他文件服务器的服务器。文件服务器通过文件访问协议提供对其共享文件系统数据的访问。

Fileset: The abstraction of a set of files and the directory tree that contains them. A fileset is the fundamental unit of data management in the federation.

文件集:一组文件和包含它们的目录树的抽象。文件集是联合体中数据管理的基本单元。

Note that all files within a fileset are descendants of one directory and that filesets do not span file systems.

请注意,文件集中的所有文件都是一个目录的后代,并且文件集不跨文件系统。

File System: A self-contained unit of export for a fileserver and the mechanism used to implement filesets. The fileset does not need to be rooted at the root of the file system, nor at the export point for the file system.

文件系统:文件服务器的自包含导出单元,以及用于实现文件集的机制。文件集不需要在文件系统的根目录下,也不需要在文件系统的导出点上。

A single file system MAY implement more than one fileset, if the file-access protocol and the fileserver permit this.

如果文件访问协议和文件服务器允许,单个文件系统可以实现多个文件集。

File-Access Protocol: A network file system access protocol such as the Network File System (NFS) version 4 [RFC7530] or the Common Internet File System (CIFS) [MS-SMB] [MS-SMB2] [MS-CIFS].

文件访问协议:网络文件系统访问协议,如网络文件系统(NFS)版本4[RFC7530]或通用Internet文件系统(CIFS)[MS-SMB][MS-SMB2][MS-CIFS]。

FSL (Fileset Location): The location of the implementation of a fileset at a particular moment in time. An FSL MUST be something that can be translated into a protocol-specific description of a resource that a file-access client can access directly, such as an fs_locations attribute (for NFSv4) or a share name (for CIFS).

FSL(文件集位置):文件集在特定时刻的实现位置。FSL必须能够转换为文件访问客户端可以直接访问的资源的特定于协议的描述,例如fs_locations属性(对于NFSv4)或共享名(对于CIFS)。

FSN (Fileset Name): A platform-independent and globally unique name for a fileset. Two FSLs that implement replicas of the same fileset MUST have the same FSN, and if a fileset is migrated from one location to another, the FSN of that fileset MUST remain the same.

FSN(文件集名称):文件集的独立于平台且全局唯一的名称。实现相同文件集副本的两个FSL必须具有相同的FSN,如果文件集从一个位置迁移到另一个位置,则该文件集的FSN必须保持不变。

Junction: A file system object used to link a directory name in the current fileset with an object within another fileset. The server-side "link" from a leaf node in one fileset to the root of another fileset.

连接:一个文件系统对象,用于将当前文件集中的目录名链接到另一个文件集中的对象。从一个文件集中的叶节点到另一个文件集的根节点的服务器端“链接”。

Namespace: A filename/directory tree that a sufficiently authorized file-access client can observe.

名称空间:一个文件名/目录树,一个经过充分授权的文件访问客户端可以观察到它。

NSDB (Namespace Database) Service: A service that maps FSNs to FSLs. The NSDB may also be used to store other information, such as annotations for these mappings and their components.

NSDB(名称空间数据库)服务:将FSN映射到FSL的服务。NSDB还可用于存储其他信息,例如这些映射及其组件的注释。

NSDB Node: The name or location of a server that implements part of the NSDB service and is responsible for keeping track of the FSLs (and related information) that implement a given partition of the FSNs.

NSDB节点:实现部分NSDB服务并负责跟踪实现FSN给定分区的FSL(及相关信息)的服务器的名称或位置。

Referral: A server response to a file-access client access that directs the client to evaluate the current object as a reference to an object at a different location (specified by an FSL) in another fileset and possibly hosted on another fileserver. The client re-attempts the access to the object at the new location.

引用:对文件访问客户端访问的服务器响应,它指示客户端将当前对象作为对另一个文件集中不同位置(由FSL指定)的对象的引用进行评估,该位置可能位于另一个文件服务器上。客户端在新位置重新尝试访问对象。

Replica: A redundant implementation of a fileset. Each replica shares the same FSN but has a different FSL.

副本:文件集的冗余实现。每个复制副本共享相同的FSN,但具有不同的FSL。

Replicas may be used to increase availability or performance. Updates to replicas of the same fileset MUST appear to occur in the same order; therefore, each replica is self-consistent at any moment.

副本可用于提高可用性或性能。对相同文件集副本的更新必须以相同的顺序进行;因此,每个副本在任何时刻都是自一致的。

We do not assume that updates to each replica occur simultaneously. If a replica is offline or unreachable, the other replicas may be updated.

我们不假设对每个复制副本的更新同时发生。如果某个复制副本脱机或无法访问,则可能会更新其他复制副本。

Server Collection: A set of fileservers administered as a unit. A server collection may be administered with vendor-specific software.

服务器集合:作为一个单元管理的一组文件服务器。可以使用特定于供应商的软件管理服务器集合。

The namespace provided by a server collection could be part of the federated namespace.

服务器集合提供的命名空间可以是联合命名空间的一部分。

Singleton Server: A server collection containing only one server; a stand-alone fileserver.

单例服务器:仅包含一台服务器的服务器集合;独立文件服务器。

1.2. Requirements Language
1.2. 需求语言

The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in [RFC2119].

本文件中的关键词“必须”、“不得”、“必需”、“应”、“不应”、“应”、“不应”、“建议”、“可”和“可选”应按照[RFC2119]中所述进行解释。

2. Protocol
2. 协议

The Remote Procedure Call (RPC) protocol used to convey administration operations is the Open Network Computing (ONC) RPC protocol [RFC5531]. The data structures used for the parameters and return values of these procedures are expressed in this document in External Data Representation (XDR) [RFC4506].

用于传输管理操作的远程过程调用(RPC)协议是开放网络计算(ONC)RPC协议[RFC5531]。用于这些过程的参数和返回值的数据结构在本文件中以外部数据表示(XDR)[RFC4506]表示。

The XDR definitions below are formatted to allow the reader to easily extract them from the document. The reader can use the following shell script to extract the definitions:

以下XDR定义的格式允许读者轻松地从文档中提取它们。读者可以使用以下shell脚本提取定义:

<CODE BEGINS>

<代码开始>

             #!/bin/sh
             grep '^ *///' | sed 's?^ */// ??' | sed 's?^ *///$??'
        
             #!/bin/sh
             grep '^ *///' | sed 's?^ */// ??' | sed 's?^ *///$??'
        

<CODE ENDS>

<代码结束>

If the above script is stored in a file called "extract.sh" and this document is in a file called "spec.txt", then the reader can do:

如果上述脚本存储在一个名为“extract.sh”的文件中,而此文档存储在一个名为“spec.txt”的文件中,则读者可以执行以下操作:

<CODE BEGINS>

<代码开始>

sh extract.sh < spec.txt > admin1.xdr

sh extract.sh<spec.txt>admin1.xdr

<CODE ENDS>

<代码结束>

The effect of the script is to remove leading white space from each line, plus a sentinel sequence of "///".

脚本的作用是删除每行的前导空格,以及“//”的哨兵序列。

The protocol definition in XDR notation is shown below. We begin by defining basic constants and structures used by the protocol. We then present the procedures defined by the protocol.

XDR表示法中的协议定义如下所示。我们首先定义协议使用的基本常量和结构。然后,我们介绍协议定义的程序。

<CODE BEGINS>

<代码开始>

    /// /*
    ///  * Copyright (c) 2015 IETF Trust and the persons identified
    ///  * as authors of the code.  All rights reserved.
    ///  *
    ///  * The authors of the code are:
    ///  * J. Lentini, C. Everhart, D. Ellard, R. Tewari, and M. Naik.
    ///  *
    ///  * Redistribution and use in source and binary forms, with
    ///  * or without modification, are permitted provided that the
    ///  * following conditions are met:
    ///  *
        
    /// /*
    ///  * Copyright (c) 2015 IETF Trust and the persons identified
    ///  * as authors of the code.  All rights reserved.
    ///  *
    ///  * The authors of the code are:
    ///  * J. Lentini, C. Everhart, D. Ellard, R. Tewari, and M. Naik.
    ///  *
    ///  * Redistribution and use in source and binary forms, with
    ///  * or without modification, are permitted provided that the
    ///  * following conditions are met:
    ///  *
        
    ///  * - Redistributions of source code must retain the above
    ///  *   copyright notice, this list of conditions and the
    ///  *   following disclaimer.
    ///  *
    ///  * - Redistributions in binary form must reproduce the above
    ///  *   copyright notice, this list of conditions and the
    ///  *   following disclaimer in the documentation and/or other
    ///  *   materials provided with the distribution.
    ///  *
    ///  * - Neither the name of Internet Society, IETF or IETF
    ///  *   Trust, nor the names of specific contributors, may be
    ///  *   used to endorse or promote products derived from this
    ///  *   software without specific prior written permission.
    ///  *
    ///  *   THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS
    ///  *   AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED
    ///  *   WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
    ///  *   IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
    ///  *   FOR A PARTICULAR PURPOSE ARE DISCLAIMED.  IN NO
    ///  *   EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
    ///  *   LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
    ///  *   EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
    ///  *   NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
    ///  *   SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
    ///  *   INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
    ///  *   LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
    ///  *   OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
    ///  *   IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
    ///  *   ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    ///  */
    ///
    /// enum FedFsStatus {
    ///  FEDFS_OK                                 = 0,
    ///  FEDFS_ERR_ACCESS                         = 1,
    ///  FEDFS_ERR_BADCHAR                        = 2,
    ///  FEDFS_ERR_BADNAME                        = 3,
    ///  FEDFS_ERR_NAMETOOLONG                    = 4,
    ///  FEDFS_ERR_LOOP                           = 5,
    ///  FEDFS_ERR_BADXDR                         = 6,
    ///  FEDFS_ERR_EXIST                          = 7,
    ///  FEDFS_ERR_INVAL                          = 8,
    ///  FEDFS_ERR_IO                             = 9,
    ///  FEDFS_ERR_NOSPC                          = 10,
    ///  FEDFS_ERR_NOTJUNCT                       = 11,
    ///  FEDFS_ERR_NOTLOCAL                       = 12,
    ///  FEDFS_ERR_PERM                           = 13,
    ///  FEDFS_ERR_ROFS                           = 14,
    ///  FEDFS_ERR_SVRFAULT                       = 15,
        
    ///  * - Redistributions of source code must retain the above
    ///  *   copyright notice, this list of conditions and the
    ///  *   following disclaimer.
    ///  *
    ///  * - Redistributions in binary form must reproduce the above
    ///  *   copyright notice, this list of conditions and the
    ///  *   following disclaimer in the documentation and/or other
    ///  *   materials provided with the distribution.
    ///  *
    ///  * - Neither the name of Internet Society, IETF or IETF
    ///  *   Trust, nor the names of specific contributors, may be
    ///  *   used to endorse or promote products derived from this
    ///  *   software without specific prior written permission.
    ///  *
    ///  *   THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS
    ///  *   AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED
    ///  *   WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
    ///  *   IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
    ///  *   FOR A PARTICULAR PURPOSE ARE DISCLAIMED.  IN NO
    ///  *   EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
    ///  *   LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
    ///  *   EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
    ///  *   NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
    ///  *   SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
    ///  *   INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
    ///  *   LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
    ///  *   OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
    ///  *   IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
    ///  *   ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    ///  */
    ///
    /// enum FedFsStatus {
    ///  FEDFS_OK                                 = 0,
    ///  FEDFS_ERR_ACCESS                         = 1,
    ///  FEDFS_ERR_BADCHAR                        = 2,
    ///  FEDFS_ERR_BADNAME                        = 3,
    ///  FEDFS_ERR_NAMETOOLONG                    = 4,
    ///  FEDFS_ERR_LOOP                           = 5,
    ///  FEDFS_ERR_BADXDR                         = 6,
    ///  FEDFS_ERR_EXIST                          = 7,
    ///  FEDFS_ERR_INVAL                          = 8,
    ///  FEDFS_ERR_IO                             = 9,
    ///  FEDFS_ERR_NOSPC                          = 10,
    ///  FEDFS_ERR_NOTJUNCT                       = 11,
    ///  FEDFS_ERR_NOTLOCAL                       = 12,
    ///  FEDFS_ERR_PERM                           = 13,
    ///  FEDFS_ERR_ROFS                           = 14,
    ///  FEDFS_ERR_SVRFAULT                       = 15,
        
    ///  FEDFS_ERR_NOTSUPP                        = 16,
    ///  FEDFS_ERR_NSDB_ROUTE                     = 17,
    ///  FEDFS_ERR_NSDB_DOWN                      = 18,
    ///  FEDFS_ERR_NSDB_CONN                      = 19,
    ///  FEDFS_ERR_NSDB_AUTH                      = 20,
    ///  FEDFS_ERR_NSDB_LDAP                      = 21,
    ///  FEDFS_ERR_NSDB_LDAP_VAL                  = 22,
    ///  FEDFS_ERR_NSDB_NONCE                     = 23,
    ///  FEDFS_ERR_NSDB_NOFSN                     = 24,
    ///  FEDFS_ERR_NSDB_NOFSL                     = 25,
    ///  FEDFS_ERR_NSDB_RESPONSE                  = 26,
    ///  FEDFS_ERR_NSDB_FAULT                     = 27,
    ///  FEDFS_ERR_NSDB_PARAMS                    = 28,
    ///  FEDFS_ERR_NSDB_LDAP_REFERRAL             = 29,
    ///  FEDFS_ERR_NSDB_LDAP_REFERRAL_VAL         = 30,
    ///  FEDFS_ERR_NSDB_LDAP_REFERRAL_NOTFOLLOWED = 31,
    ///  FEDFS_ERR_NSDB_PARAMS_LDAP_REFERRAL      = 32,
    ///  FEDFS_ERR_PATH_TYPE_UNSUPP               = 33,
    ///  FEDFS_ERR_DELAY                          = 34,
    ///  FEDFS_ERR_NO_CACHE                       = 35,
    ///  FEDFS_ERR_UNKNOWN_CACHE                  = 36,
    ///  FEDFS_ERR_NO_CACHE_UPDATE                = 37
    /// };
    ///
    /// typedef opaque                 utf8string<>;
    /// typedef utf8string             ascii_REQUIRED4;
    /// typedef utf8string             utf8val_REQUIRED4;
    ///
    /// typedef opaque FedFsUuid[16];
    ///
    /// struct FedFsNsdbName {
    ///         unsigned int           port;
    ///         utf8val_REQUIRED4      hostname;
    /// };
    ///
    /// typedef ascii_REQUIRED4 FedFsPathComponent;
    /// typedef FedFsPathComponent FedFsPathName<>;
    ///
    /// struct FedFsFsn {
    ///         FedFsUuid              fsnUuid;
    ///         FedFsNsdbName          nsdbName;
    /// };
    ///
    /// enum FedFsFslType {
    ///  FEDFS_NFS_FSL = 0
    /// };
    ///
    /// struct FedFsNfsFsl {
        
    ///  FEDFS_ERR_NOTSUPP                        = 16,
    ///  FEDFS_ERR_NSDB_ROUTE                     = 17,
    ///  FEDFS_ERR_NSDB_DOWN                      = 18,
    ///  FEDFS_ERR_NSDB_CONN                      = 19,
    ///  FEDFS_ERR_NSDB_AUTH                      = 20,
    ///  FEDFS_ERR_NSDB_LDAP                      = 21,
    ///  FEDFS_ERR_NSDB_LDAP_VAL                  = 22,
    ///  FEDFS_ERR_NSDB_NONCE                     = 23,
    ///  FEDFS_ERR_NSDB_NOFSN                     = 24,
    ///  FEDFS_ERR_NSDB_NOFSL                     = 25,
    ///  FEDFS_ERR_NSDB_RESPONSE                  = 26,
    ///  FEDFS_ERR_NSDB_FAULT                     = 27,
    ///  FEDFS_ERR_NSDB_PARAMS                    = 28,
    ///  FEDFS_ERR_NSDB_LDAP_REFERRAL             = 29,
    ///  FEDFS_ERR_NSDB_LDAP_REFERRAL_VAL         = 30,
    ///  FEDFS_ERR_NSDB_LDAP_REFERRAL_NOTFOLLOWED = 31,
    ///  FEDFS_ERR_NSDB_PARAMS_LDAP_REFERRAL      = 32,
    ///  FEDFS_ERR_PATH_TYPE_UNSUPP               = 33,
    ///  FEDFS_ERR_DELAY                          = 34,
    ///  FEDFS_ERR_NO_CACHE                       = 35,
    ///  FEDFS_ERR_UNKNOWN_CACHE                  = 36,
    ///  FEDFS_ERR_NO_CACHE_UPDATE                = 37
    /// };
    ///
    /// typedef opaque                 utf8string<>;
    /// typedef utf8string             ascii_REQUIRED4;
    /// typedef utf8string             utf8val_REQUIRED4;
    ///
    /// typedef opaque FedFsUuid[16];
    ///
    /// struct FedFsNsdbName {
    ///         unsigned int           port;
    ///         utf8val_REQUIRED4      hostname;
    /// };
    ///
    /// typedef ascii_REQUIRED4 FedFsPathComponent;
    /// typedef FedFsPathComponent FedFsPathName<>;
    ///
    /// struct FedFsFsn {
    ///         FedFsUuid              fsnUuid;
    ///         FedFsNsdbName          nsdbName;
    /// };
    ///
    /// enum FedFsFslType {
    ///  FEDFS_NFS_FSL = 0
    /// };
    ///
    /// struct FedFsNfsFsl {
        
    ///         FedFsUuid              fslUuid;
    ///         unsigned int           port;
    ///         utf8val_REQUIRED4      hostname;
    ///         FedFsPathName          path;
    /// };
    ///
    /// union FedFsFsl switch(FedFsFslType type) {
    ///  case FEDFS_NFS_FSL:
    ///         FedFsNfsFsl            nfsFsl;
    /// };
    ///
    /// enum FedFsPathType {
    ///  FEDFS_PATH_SYS = 0,
    ///  FEDFS_PATH_NFS = 1
    /// };
    ///
    /// union FedFsPath switch(FedFsPathType type) {
    ///  case FEDFS_PATH_SYS: /* administrative path */
    ///         FedFsPathName          adminPath;
    ///  case FEDFS_PATH_NFS: /* NFS namespace path */
    ///         FedFsPathName          nfsPath;
    /// };
    ///
    /// struct FedFsCreateArgs {
    ///         FedFsPath              path;
    ///         FedFsFsn               fsn;
    /// };
    ///
    /// enum FedFsResolveType {
    ///  FEDFS_RESOLVE_NONE  = 0,
    ///  FEDFS_RESOLVE_CACHE = 1,
    ///  FEDFS_RESOLVE_NSDB  = 2
    /// };
    ///
    /// struct FedFsLookupArgs {
    ///         FedFsPath              path;
    ///         FedFsResolveType       resolve;
    /// };
    ///
    /// struct FedFsLookupResOk {
    ///         FedFsFsn               fsn;
    ///         FedFsFsl               fsl<>;
    /// };
    ///
    /// struct FedFsLookupResReferralVal {
    ///         FedFsNsdbName          targetNsdb;
    ///         unsigned int           ldapResultCode;
    /// };
        
    ///         FedFsUuid              fslUuid;
    ///         unsigned int           port;
    ///         utf8val_REQUIRED4      hostname;
    ///         FedFsPathName          path;
    /// };
    ///
    /// union FedFsFsl switch(FedFsFslType type) {
    ///  case FEDFS_NFS_FSL:
    ///         FedFsNfsFsl            nfsFsl;
    /// };
    ///
    /// enum FedFsPathType {
    ///  FEDFS_PATH_SYS = 0,
    ///  FEDFS_PATH_NFS = 1
    /// };
    ///
    /// union FedFsPath switch(FedFsPathType type) {
    ///  case FEDFS_PATH_SYS: /* administrative path */
    ///         FedFsPathName          adminPath;
    ///  case FEDFS_PATH_NFS: /* NFS namespace path */
    ///         FedFsPathName          nfsPath;
    /// };
    ///
    /// struct FedFsCreateArgs {
    ///         FedFsPath              path;
    ///         FedFsFsn               fsn;
    /// };
    ///
    /// enum FedFsResolveType {
    ///  FEDFS_RESOLVE_NONE  = 0,
    ///  FEDFS_RESOLVE_CACHE = 1,
    ///  FEDFS_RESOLVE_NSDB  = 2
    /// };
    ///
    /// struct FedFsLookupArgs {
    ///         FedFsPath              path;
    ///         FedFsResolveType       resolve;
    /// };
    ///
    /// struct FedFsLookupResOk {
    ///         FedFsFsn               fsn;
    ///         FedFsFsl               fsl<>;
    /// };
    ///
    /// struct FedFsLookupResReferralVal {
    ///         FedFsNsdbName          targetNsdb;
    ///         unsigned int           ldapResultCode;
    /// };
        
    ///
    /// union FedFsLookupRes switch (FedFsStatus status) {
    ///  case FEDFS_OK:
    ///  case FEDFS_ERR_NO_CACHE_UPDATE:
    ///         FedFsLookupResOk           resok;
    ///  case FEDFS_ERR_NSDB_LDAP_VAL:
    ///         unsigned int               ldapResultCode;
    ///  case FEDFS_ERR_NSDB_LDAP_REFERRAL:
    ///  case FEDFS_ERR_NSDB_PARAMS_LDAP_REFERRAL:
    ///         FedFsNsdbName              targetNsdb;
    ///  case FEDFS_ERR_NSDB_LDAP_REFERRAL_VAL:
    ///         FedFsLookupResReferralVal  resReferralVal;
    ///  default:
    ///         void;
    /// };
    ///
    /// enum FedFsConnectionSec {
    ///  FEDFS_SEC_NONE = 0,
    ///  FEDFS_SEC_TLS = 1 /* StartTLS mechanism; RFC 4513, Section 3 */
    /// };
    ///
    /// union FedFsNsdbParams switch (FedFsConnectionSec secType) {
    ///  case FEDFS_SEC_TLS:
    ///         opaque                   secData<>;
    ///  default:
    ///         void;
    /// };
    ///
    /// struct FedFsSetNsdbParamsArgs {
    ///         FedFsNsdbName            nsdbName;
    ///         FedFsNsdbParams          params;
    /// };
    ///
    /// union FedFsGetNsdbParamsRes switch (FedFsStatus status) {
    ///  case FEDFS_OK:
    ///         FedFsNsdbParams          params;
    ///  default:
    ///         void;
    /// };
    ///
    /// union FedFsGetLimitedNsdbParamsRes switch (FedFsStatus status) {
    ///  case FEDFS_OK:
    ///         FedFsConnectionSec       secType;
    ///  default:
    ///         void;
    /// };
    ///
    /// program FEDFS_PROG {
        
    ///
    /// union FedFsLookupRes switch (FedFsStatus status) {
    ///  case FEDFS_OK:
    ///  case FEDFS_ERR_NO_CACHE_UPDATE:
    ///         FedFsLookupResOk           resok;
    ///  case FEDFS_ERR_NSDB_LDAP_VAL:
    ///         unsigned int               ldapResultCode;
    ///  case FEDFS_ERR_NSDB_LDAP_REFERRAL:
    ///  case FEDFS_ERR_NSDB_PARAMS_LDAP_REFERRAL:
    ///         FedFsNsdbName              targetNsdb;
    ///  case FEDFS_ERR_NSDB_LDAP_REFERRAL_VAL:
    ///         FedFsLookupResReferralVal  resReferralVal;
    ///  default:
    ///         void;
    /// };
    ///
    /// enum FedFsConnectionSec {
    ///  FEDFS_SEC_NONE = 0,
    ///  FEDFS_SEC_TLS = 1 /* StartTLS mechanism; RFC 4513, Section 3 */
    /// };
    ///
    /// union FedFsNsdbParams switch (FedFsConnectionSec secType) {
    ///  case FEDFS_SEC_TLS:
    ///         opaque                   secData<>;
    ///  default:
    ///         void;
    /// };
    ///
    /// struct FedFsSetNsdbParamsArgs {
    ///         FedFsNsdbName            nsdbName;
    ///         FedFsNsdbParams          params;
    /// };
    ///
    /// union FedFsGetNsdbParamsRes switch (FedFsStatus status) {
    ///  case FEDFS_OK:
    ///         FedFsNsdbParams          params;
    ///  default:
    ///         void;
    /// };
    ///
    /// union FedFsGetLimitedNsdbParamsRes switch (FedFsStatus status) {
    ///  case FEDFS_OK:
    ///         FedFsConnectionSec       secType;
    ///  default:
    ///         void;
    /// };
    ///
    /// program FEDFS_PROG {
        
    ///  version FEDFS_V1 {
    ///      void FEDFS_NULL(void) = 0;
    ///      FedFsStatus FEDFS_CREATE_JUNCTION(
    ///                   FedFsCreateArgs) = 1;
    ///      FedFsStatus FEDFS_DELETE_JUNCTION(
    ///                   FedFsPath) = 2;
    ///      FedFsLookupRes FEDFS_LOOKUP_JUNCTION(
    ///                   FedFsLookupArgs) = 3;
    ///      FedFsStatus FEDFS_CREATE_REPLICATION(
    ///                   FedFsCreateArgs) = 7;
    ///      FedFsStatus FEDFS_DELETE_REPLICATION(
    ///                   FedFsPath) = 8;
    ///      FedFsLookupRes FEDFS_LOOKUP_REPLICATION(
    ///                   FedFsLookupArgs) = 9;
    ///      FedFsStatus FEDFS_SET_NSDB_PARAMS(
    ///                   FedFsSetNsdbParamsArgs) = 4;
    ///      FedFsGetNsdbParamsRes FEDFS_GET_NSDB_PARAMS(
    ///                   FedFsNsdbName) = 5;
    ///      FedFsGetLimitedNsdbParamsRes FEDFS_GET_LIMITED_NSDB_PARAMS(
    ///                   FedFsNsdbName) = 6;
    ///  } = 1;
    /// } = 100418;
        
    ///  version FEDFS_V1 {
    ///      void FEDFS_NULL(void) = 0;
    ///      FedFsStatus FEDFS_CREATE_JUNCTION(
    ///                   FedFsCreateArgs) = 1;
    ///      FedFsStatus FEDFS_DELETE_JUNCTION(
    ///                   FedFsPath) = 2;
    ///      FedFsLookupRes FEDFS_LOOKUP_JUNCTION(
    ///                   FedFsLookupArgs) = 3;
    ///      FedFsStatus FEDFS_CREATE_REPLICATION(
    ///                   FedFsCreateArgs) = 7;
    ///      FedFsStatus FEDFS_DELETE_REPLICATION(
    ///                   FedFsPath) = 8;
    ///      FedFsLookupRes FEDFS_LOOKUP_REPLICATION(
    ///                   FedFsLookupArgs) = 9;
    ///      FedFsStatus FEDFS_SET_NSDB_PARAMS(
    ///                   FedFsSetNsdbParamsArgs) = 4;
    ///      FedFsGetNsdbParamsRes FEDFS_GET_NSDB_PARAMS(
    ///                   FedFsNsdbName) = 5;
    ///      FedFsGetLimitedNsdbParamsRes FEDFS_GET_LIMITED_NSDB_PARAMS(
    ///                   FedFsNsdbName) = 6;
    ///  } = 1;
    /// } = 100418;
        

<CODE ENDS>

<代码结束>

3. Error Values
3. 错误值

The results of successful operations will consist of a status of FEDFS_OK. The results of unsuccessful operations will begin with a status, other than FEDFS_OK, that indicates the reason why the operation failed.

成功操作的结果将包括FEDFS_OK状态。不成功操作的结果将以除FEDFS_OK之外的状态开始,该状态指示操作失败的原因。

Many of the error status names and meanings (and the prose for their descriptions) are taken from the specification for NFSv4 [RFC7530]. Note, however, that the numeric values for the status codes are different. For example, the name and meaning of FEDFS_ERR_ACCESS was inspired by NFSv4's NFS4ERR_ACCESS, but their numeric values are different.

许多错误状态名称和含义(及其描述的文字)取自NFSv4[RFC7530]规范。但是,请注意,状态代码的数值不同。例如,FEDFS_ERR_访问的名称和含义是受NFSv4的NFS4ERR_访问启发而来的,但它们的数值是不同的。

The status of an unsuccessful operation will generally only indicate the first error encountered during the attempt to execute the operation.

不成功操作的状态通常仅指示在尝试执行操作期间遇到的第一个错误。

FEDFS_OK: No errors were encountered. The operation was a success.

FEDFS_OK:未遇到任何错误。手术很成功。

FEDFS_ERR_ACCESS: Permission denied. The caller does not have the correct permission to perform the requested operation.

FEDFS_ERR_访问:权限被拒绝。调用方没有执行请求的操作的正确权限。

FEDFS_ERR_BADCHAR: A UTF-8 string contains a character that is not supported by the server in the context in which it being used.

FEDFS_ERR_BADCHAR:UTF-8字符串包含服务器在其使用上下文中不支持的字符。

FEDFS_ERR_BADNAME: A name string in a request consisted of valid UTF-8 characters supported by the server, but the name is not supported by the server as a valid name for the current operation.

FEDFS_ERR_BADNAME:请求中的名称字符串由服务器支持的有效UTF-8字符组成,但服务器不支持该名称作为当前操作的有效名称。

FEDFS_ERR_NAMETOOLONG: Returned when the pathname in an operation exceeds the server's implementation limit.

FEDFS_ERR_NAMETOOLONG:当操作中的路径名超过服务器的实现限制时返回。

FEDFS_ERR_LOOP: Returned when too many symbolic links were encountered in resolving pathname.

FEDFS_ERR_循环:在解析路径名时遇到太多符号链接时返回。

FEDFS_ERR_BADXDR: The server encountered an XDR decoding error while processing an operation.

FEDFS_ERR_BADXDR:服务器在处理操作时遇到XDR解码错误。

FEDFS_ERR_EXIST: The junction specified already exists.

FEDFS_ERR_EXIST:指定的连接已存在。

FEDFS_ERR_INVAL: Invalid argument for an operation.

FEDFS_ERR_INVAL:操作的参数无效。

FEDFS_ERR_IO: A hard error occurred while processing the requested operation.

FEDFS_ERR_IO:处理请求的操作时发生硬错误。

FEDFS_ERR_NOSPC: The requested operation would have caused the server's file system to exceed some limit (for example, if there is a fixed number of junctions per fileset or per server).

FEDFS_ERR_NOSPC:请求的操作可能会导致服务器的文件系统超过某些限制(例如,如果每个文件集或每个服务器有固定数量的连接)。

FEDFS_ERR_NOTJUNCT: The caller specified a path that does not end in a junction as the operand for an operation that requires the last component of the path to be a junction.

FEDFS_ERR_NOTJUNCT:调用方指定了一个不以连接结尾的路径作为要求路径的最后一个组件为连接的操作数。

FEDFS_ERR_NOTLOCAL: The caller specified a path that contains a junction in any position other than the last component.

FEDFS_ERR_NOTLOCAL:调用方指定了一个路径,该路径在除最后一个组件之外的任何位置包含连接。

FEDFS_ERR_PERM: The operation was not allowed because the caller is either not a privileged user or not the owner of an object that would be modified by the operation.

FEDFS_ERR_PERM:不允许该操作,因为调用方不是特权用户或不是将由该操作修改的对象的所有者。

FEDFS_ERR_ROFS: A modifying operation was attempted on a read-only file system.

FEDFS_ERR_ROFS:试图在只读文件系统上执行修改操作。

FEDFS_ERR_SVRFAULT: An unanticipated non-protocol error occurred on the server.

FEDFS_ERR_SVRFAULT:服务器上发生意外的非协议错误。

FEDFS_ERR_NSDB_ROUTE: The fileserver was unable to find a route to the NSDB.

FEDFS_ERR_NSDB_路由:文件服务器无法找到到NSDB的路由。

FEDFS_ERR_NSDB_DOWN: The fileserver determined that the NSDB was down.

FEDFS_ERR_NSDB_DOWN:文件服务器确定NSDB已关闭。

FEDFS_ERR_NSDB_CONN: The fileserver was unable to establish a connection with the NSDB.

FEDFS_ERR_NSDB_CONN:文件服务器无法与NSDB建立连接。

FEDFS_ERR_NSDB_AUTH: The fileserver was unable to authenticate and establish a secure connection with the NSDB.

FEDFS_ERR_NSDB_AUTH:文件服务器无法进行身份验证并与NSDB建立安全连接。

FEDFS_ERR_NSDB_LDAP: A Lightweight Directory Access Protocol (LDAP) error occurred on the connection between the fileserver and NSDB.

FEDFS_ERR_NSDB_LDAP:在文件服务器和NSDB之间的连接上发生轻型目录访问协议(LDAP)错误。

FEDFS_ERR_NSDB_LDAP_VAL: Indicates the same error as FEDFS_ERR_NSDB_LDAP and allows the LDAP protocol error value to be returned back to an ADMIN protocol client.

FEDFS_ERR_NSDB_LDAP_VAL:表示与FEDFS_ERR_NSDB_LDAP相同的错误,并允许将LDAP协议错误值返回给管理协议客户端。

FEDFS_ERR_NSDB_NONCE: The fileserver was unable to locate the NSDB Container Entry (NCE) in the appropriate NSDB.

FEDFS_ERR_NSDB_NONCE:文件服务器无法在相应的NSDB中找到NSDB容器项(NCE)。

FEDFS_ERR_NSDB_NOFSN: The fileserver was unable to locate the given FSN in the appropriate NSDB.

FEDFS_ERR_NSDB_NOFSN:文件服务器无法在相应的NSDB中找到给定的FSN。

FEDFS_ERR_NSDB_NOFSL: The fileserver was unable to locate any FSLs for the given FSN in the appropriate NSDB.

FEDFS_ERR_NSDB_NOFSL:文件服务器无法在相应的NSDB中找到给定FSN的任何FSL。

FEDFS_ERR_NSDB_RESPONSE: The fileserver received a malformed response from the NSDB. This includes situations when an NSDB entry (e.g., FSN or FSL) is missing a required attribute.

FEDFS_ERR_NSDB_响应:文件服务器从NSDB接收到格式错误的响应。这包括NSDB条目(如FSN或FSL)缺少所需属性的情况。

FEDFS_ERR_NSDB_FAULT: An unanticipated error related to the NSDB occurred.

FEDFS_ERR_NSDB_故障:发生了与NSDB相关的意外错误。

FEDFS_ERR_NSDB_PARAMS: The fileserver does not have any connection parameters on record for the specified NSDB.

FEDFS_ERR_NSDB_PARAMS:文件服务器没有记录指定NSDB的任何连接参数。

FEDFS_ERR_NSDB_LDAP_REFERRAL: The fileserver received an LDAP referral that it was unable to follow.

FEDFS_ERR_NSDB_LDAP_引用:文件服务器收到一个它无法遵循的LDAP引用。

FEDFS_ERR_NSDB_LDAP_REFERRAL_VAL: Indicates the same error as FEDFS_ERR_NSDB_LDAP_REFERRAL and allows the LDAP protocol error value to be returned back to an ADMIN protocol client.

FEDFS_ERR_NSDB_LDAP_reference_VAL:表示与FEDFS_ERR_NSDB_LDAP_reference相同的错误,并允许将LDAP协议错误值返回给管理协议客户端。

FEDFS_ERR_NSDB_LDAP_REFERRAL_NOTFOLLOWED: The fileserver received an LDAP referral that it chose not to follow, either because the fileserver does not support following LDAP referrals or LDAP referral following is disabled.

FEDFS_ERR_NSDB_LDAP_reference_notfollowered:文件服务器收到了一个它选择不遵循的LDAP引用,这可能是因为文件服务器不支持遵循LDAP引用,或者LDAP reference followering被禁用。

FEDFS_ERR_NSDB_PARAMS_LDAP_REFERRAL: The fileserver received an LDAP referral that it chose not to follow because the fileserver had no NSDB parameters for the NSDB targeted by the LDAP referral.

FEDFS_ERR_NSDB_PARAMS_LDAP_reference:文件服务器收到了一个它选择不遵循的LDAP reference,因为文件服务器没有LDAP reference所针对的NSDB的NSDB参数。

FEDFS_ERR_PATH_TYPE_UNSUPP: The fileserver does not support the specified FedFsPathType value.

FEDFS_ERR_PATH_TYPE_UNSUPP:文件服务器不支持指定的FedFsPathType值。

FEDFS_ERR_NOTSUPP: The fileserver does not support the specified procedure.

FEDFS_ERR_NOTSUPP:文件服务器不支持指定的过程。

FEDFS_ERR_DELAY: The fileserver initiated the request but was not able to complete it in a timely fashion. The ADMIN protocol client should wait and then try the request with a new RPC transaction ID.

FEDFS_ERR_DELAY:文件服务器启动了请求,但无法及时完成。管理协议客户端应等待,然后使用新的RPC事务ID尝试该请求。

FEDFS_ERR_NO_CACHE: The fileserver does not implement an FSN-to-FSL cache.

FEDFS_ERR_NO_缓存:文件服务器未实现FSN到FSL缓存。

FEDFS_ERR_UNKNOWN_CACHE: The software receiving the ONC RPC request is unaware if the fileserver implements an FSN-to-FSL cache or is unable to communicate with the FSN-to-FSL cache if it exists.

FEDFS_ERR_UNKNOWN_缓存:如果文件服务器实现了FSN到FSL缓存,则接收ONC RPC请求的软件不知道,或者如果FSN到FSL缓存存在,则无法与之通信。

FEDFS_ERR_NO_CACHE_UPDATE: The fileserver was unable to update its FSN-to-FSL cache.

FEDFS_ERR_NO_CACHE_UPDATE:文件服务器无法将其FSN更新为FSL缓存。

4. Data Types
4. 数据类型

The basic data types defined above are formatted as follows:

上述定义的基本数据类型的格式如下:

FedFsUuid: A universally unique identifier (UUID) as described in [RFC4122] as a version 4 UUID. The UUID MUST be formatted in network byte order.

FedFsUuid:[RFC4122]中描述的作为版本4 UUID的通用唯一标识符(UUID)。UUID必须按网络字节顺序格式化。

FedFsNsdbName: A (hostname, port) pair.

FedFsNsdbName:A(主机名、端口)对。

The hostname is a variable-length UTF-8 string that represents an NSDB's network location in DNS name notation. It SHOULD be prepared using the domain name rules defined in Section 12.6 ("Types with Processing Defined by Other Internet Areas") of [RFC7530]. The DNS name MUST be represented using a fully qualified domain name.

主机名是一个可变长度的UTF-8字符串,以DNS名称表示法表示NSDB的网络位置。应使用[RFC7530]第12.6节(“具有其他互联网区域定义的处理的类型”)中定义的域名规则进行编制。DNS名称必须使用完全限定的域名表示。

The port value in the FedFsNsdbName indicates the LDAP port on the NSDB (see [RFC4511]). The value MUST be in the range 0 to 65535. A value of 0 indicates that the standard LDAP port number, 389, MUST be assumed.

FedFsNsdbName中的端口值表示NSDB上的LDAP端口(请参见[RFC4511])。该值必须在0到65535之间。值0表示必须采用标准LDAP端口号389。

FSNs are immutable and invariant. The attributes of an FSN, including the fedfsNsdbName, are expected to remain constant. Therefore, a FedFsNsdbName MUST NOT contain a network address, such as an IPv4 or IPv6 address, as this would indefinitely assign the network address.

fsn是不变的和不变的。FSN的属性(包括fedfsNsdbName)应保持不变。因此,FedFsNsdbName不能包含网络地址,例如IPv4或IPv6地址,因为这将无限期地分配网络地址。

FedFsPathComponent: A case-sensitive UTF-8 string containing a file system path component. The component names of an NFSv4 pathname MUST be prepared using the component name rules defined in Section 12 ("Internationalization") of [RFC7530] prior to encoding the path component of an NFS URI.

FedFsPathComponent:包含文件系统路径组件的区分大小写的UTF-8字符串。在编码NFS URI的路径组件之前,必须使用[RFC7530]第12节(“国际化”)中定义的组件名称规则准备NFSv4路径名的组件名称。

FedFsPathName: A variable-length array of FedFsPathComponent values representing a file system path. The path's first component is stored at the first position of the array, the second component is stored at the second position of the array, and so on.

FedFsPathName:表示文件系统路径的FedFsPathComponent值的可变长度数组。路径的第一个组件存储在数组的第一个位置,第二个组件存储在数组的第二个位置,依此类推。

The path "/" MUST be encoded as an array with zero components.

路径“/”必须编码为零组件的数组。

A FedFsPathName MUST NOT contain any zero-length components.

FedFsPathName不能包含任何零长度组件。

FedFsPath: A pathname container. The format and semantics of the pathname are defined by the FedFsPathType value.

FedFsPath:路径名容器。路径名的格式和语义由FedFsPathType值定义。

FedFsPathType: The type-specific description of a pathname.

FedFsPathType:路径名的特定于类型的描述。

A FEDFS_PATH_SYS is an implementation-dependent administrative pathname. For example, it could be a local file system path.

FEDFS_路径_SYS是依赖于实现的管理路径名。例如,它可以是本地文件系统路径。

A FEDFS_PATH_NFS is a pathname in the NFSv4 server's single-server namespace.

FEDFS_PATH_NFS是NFSv4服务器的单服务器命名空间中的路径名。

FedFsNsdbParams: A set of parameters for connecting to an NSDB. Conceptually, the fileserver contains a data structure that maps an NSDB name (DNS name and port value) to these LDAP connection parameters.

FedFsNsdbParams:用于连接到NSDB的一组参数。从概念上讲,文件服务器包含一个将NSDB名称(DNS名称和端口值)映射到这些LDAP连接参数的数据结构。

The secType field indicates the security mechanism that MUST be used to protect all connections to the NSDB with the connection parameters.

secType字段指示必须使用的安全机制,以使用连接参数保护与NSDB的所有连接。

A value of FEDFS_SEC_NONE indicates that a transport security mechanism MUST NOT be used when connecting to the NSDB. In this case, the secData array will have a length of zero.

FEDFS_secu_NONE值表示连接到NSDB时不得使用传输安全机制。在这种情况下,secData数组的长度为零。

A value of FEDFS_SEC_TLS indicates that the StartTLS security mechanism [RFC4513] MUST be used to protect all connections to the NSDB. In this case, the secData array will contain an X.509v3

FEDFS_secu_TLS的值表示必须使用StartTLS安全机制[RFC4513]来保护与NSDB的所有连接。在这种情况下,secData数组将包含一个X.509v3

root certificate in binary DER format [RFC5280] fulfilling the Transport Layer Security (TLS) requirement that root keys be distributed independently from the TLS protocol. The certificate MUST be used by the fileserver as a trust anchor to validate the NSDB's TLS server certificate list chain (see Section 7.4.2 of [RFC5246]) and thus authenticate the identity of the NSDB. The certificate could be that of a certificate authority or a self-signed certificate. To ensure that this security configuration information does not cause vulnerabilities for other services, trust anchors provided through secData MUST only be used for the NSDB service (as opposed to being installed as system-wide trust anchors for other services). Most popular TLS libraries provide ways in which this can be done, such as denoting a private file system location for the certificates.

二进制DER格式的根证书[RFC5280]满足传输层安全(TLS)要求,即根密钥独立于TLS协议分发。文件服务器必须将证书用作信任锚点,以验证NSDB的TLS服务器证书列表链(请参见[RFC5246]第7.4.2节),从而验证NSDB的身份。证书可以是证书颁发机构的证书,也可以是自签名证书。为确保此安全配置信息不会导致其他服务存在漏洞,通过secData提供的信任锚只能用于NSDB服务(而不是作为其他服务的系统范围信任锚安装)。大多数流行的TLS库提供了实现这一点的方法,例如为证书指定私有文件系统位置。

4.1. FedFsNsdbName Equality
4.1. FedFsNsdbName相等

Two FedFsNsdbNames are considered equal if their respective hostname and port fields contain the same values. The only exception to this rule is that a value of 0 in the port field always matches the standard LDAP port number, 389.

如果两个FedFsNsdbNames各自的主机名和端口字段包含相同的值,则认为它们相等。此规则的唯一例外是端口字段中的值0始终与标准LDAP端口号389匹配。

Therefore, the FedFsNsdbName "(nsdb.example.com, 0)" is considered equal to "(nsdb.example.com, 389)" but not equal to "(nsdb.example.com, 1066)" since the port numbers are different or "(nsdb.foo.example.com, 389)" since the hostnames are different.

因此,FedFsNsdbName“(nsdb.example.com,0)”被视为等于“(nsdb.example.com,389)”,但不等于“(nsdb.example.com,1066)”,因为端口号不同,或者(nsdb.foo.example.com,389)”因为主机名不同。

5. Procedures
5. 程序

The procedures defined in Section 2 are described in detail in the following sections.

第2节中定义的程序将在以下章节中详细描述。

Fileservers that participate as "internal" nodes in the federated namespace MUST implement the following procedures:

作为联合命名空间中的“内部”节点参与的文件服务器必须实现以下过程:

FEDFS_NULL FEDFS_CREATE_JUNCTION FEDFS_DELETE_JUNCTION FEDFS_LOOKUP_JUNCTION FEDFS_SET_NSDB_PARAMS FEDFS_GET_NSDB_PARAMS FEDFS_GET_LIMITED_NSDB_PARAMS

FEDFS\u空FEDFS\u创建\u连接FEDFS\u删除\u连接FEDFS\u查找\u连接FEDFS\u集合\u NSDB\u参数FEDFS\u GET\u NSDB\u参数FEDFS\u GET\u有限\u NSDB\u参数

Furthermore, they SHOULD implement the following procedures:

此外,他们应执行以下程序:

FEDFS_CREATE_REPLICATION FEDFS_DELETE_REPLICATION FEDFS_LOOKUP_REPLICATION

FEDFS\创建\复制FEDFS\删除\复制FEDFS\查找\复制

Fileservers that participate as "leaf" nodes in the namespace (i.e., fileservers that host filesets that are the target of junctions but that do not contain any junctions) are not required to implement any of these operations.

作为命名空间中的“叶”节点参与的文件服务器(即承载作为连接目标但不包含任何连接的文件集的文件服务器)不需要实现这些操作。

Operations that modify the state of a replicated fileset MUST result in the update of all of the replicas in a consistent manner. Ideally, all of the replicas SHOULD be updated before any operation returns. If one or more of the replicas are unavailable, the operation MAY succeed, but the changes MUST be applied before the unavailable replicas are brought back online. We assume that replicas are updated via some protocol that permits state changes to be reflected consistently across the set of replicas in such a manner that the replicas will converge to a consistent state within a bounded number of successful message exchanges between the servers hosting the replicas.

修改已复制文件集状态的操作必须以一致的方式更新所有副本。理想情况下,应在任何操作返回之前更新所有副本。如果一个或多个副本不可用,操作可能会成功,但必须在不可用副本恢复联机之前应用更改。我们假设副本是通过某种协议更新的,该协议允许状态更改在副本集上一致地反映出来,从而使副本在托管副本的服务器之间成功的消息交换次数有限的情况下收敛到一致的状态。

5.1. FEDFS_NULL
5.1. FEU空
5.1.1. Synopsis
5.1.1. 提要

The standard NULL procedure.

标准的空过程。

5.1.2. Description
5.1.2. 描述

The null RPC, which is included, by convention, in every ONC RPC protocol. This procedure does not take any arguments and does not produce a result.

空RPC,按照约定,它包含在每个ONC RPC协议中。此过程不接受任何参数,也不生成结果。

5.1.3. Errors
5.1.3. 错误

None.

没有一个

5.2. FEDFS_CREATE_JUNCTION
5.2. FEDFS_创建_连接
5.2.1. Synopsis
5.2.1. 提要

Create a new junction from some location on the server (defined as a pathname) to an FSN.

创建从服务器上的某个位置(定义为路径名)到FSN的新连接。

5.2.2. Description
5.2.2. 描述

This operation creates a junction from a server-relative path to a (potentially) remote fileset named by the given FSN.

此操作将创建从服务器相对路径到(可能)由给定FSN命名的远程文件集的连接。

The junction directory on the server is identified by a pathname in the form of an array of one or more UTF-8 path component strings. It is not required that this path be accessible in any other manner

服务器上的连接目录由路径名标识,路径名采用一个或多个UTF-8路径组件字符串数组的形式。不要求以任何其他方式访问此路径

(e.g., to a file-access client). This path does not appear in the federated namespace, except by coincidence; there is no requirement that the global namespace parallel the server namespace, nor is it required that this path be relative to the server pseudo-root. It does not need to be a path that is accessible via NFS (although the junction will be of limited utility if the directory specified by the path is not also accessible via NFS).

(例如,文件访问客户端)。此路径不会出现在联邦名称空间中,除非是巧合;不要求全局命名空间与服务器命名空间并行,也不要求此路径与服务器伪根相对。它不需要是可以通过NFS访问的路径(尽管如果路径指定的目录也不能通过NFS访问,则连接的实用性有限)。

If the fileset is read-only, then this operation MUST indicate this with a status of FEDFS_ERR_ROFS.

如果文件集是只读的,则此操作必须以FEDFS\u ERR\u ROFS的状态指示此操作。

If the path contains a character that is not supported by the server, then status FEDFS_ERR_BADCHAR MUST be returned.

如果路径包含服务器不支持的字符,则必须返回状态FEDFS\u ERR\u BADCHAR。

The path is REQUIRED to exist and be completely local to the server. It MUST NOT contain a junction. If the last component of the path is a junction (i.e., this operation is attempting to create a junction where one already exists), then this operation MUST return the error FEDFS_ERR_EXIST (even if the requested junction is identical to the current junction). If any other component of the path is a junction, then this operation MUST fail with status FEDFS_ERR_NOTLOCAL. The path might contain a symbolic link (if supported by the local server), but the traversal of the path MUST remain within the server-local namespace.

该路径必须存在并完全位于服务器本地。它不能包含连接。如果路径的最后一个组件是一个连接(即,此操作试图创建一个已经存在的连接),则此操作必须返回错误FEDFS\U ERR\U EXIST(即使请求的连接与当前连接相同)。如果路径的任何其他组件是连接,则此操作必须失败,状态为FEDFS\u ERR\u NOTLOCAL。路径可能包含符号链接(如果本地服务器支持),但路径的遍历必须保留在服务器本地名称空间内。

If any component of the path does not exist, then the operation MUST fail with status FEDFS_ERR_INVAL.

如果路径的任何组件不存在,则操作必须失败,状态为FEDFS\u ERR\u INVAL。

The server MAY enforce the local permissions on the path, including the final component. If a server wishes to report that a path cannot be traversed because of insufficient permissions, or the final component is an unexecutable or unwritable directory, then the operation MUST fail with status FEDFS_ERR_ACCESS.

服务器可以对路径(包括最终组件)强制执行本地权限。如果服务器希望报告由于权限不足而无法遍历路径,或者最终组件是不可执行或不可写入的目录,则操作必须失败,状态为FEDFS\u ERR\u ACCESS。

The operation SHOULD fail with status FEDFS_ERR_NSDB_PARAMS if the fileserver does not have any connection parameters on record for the specified NSDB, or the server may allow the operation to proceed using some set of default NSDB connection parameters.

如果文件服务器未记录指定NSDB的任何连接参数,或者服务器可能允许使用某组默认NSDB连接参数继续操作,则操作应失败,状态为FEDFS_ERR_NSDB_PARAMS。

The association between the path and the FSN MUST be durable before the operation returns successfully. If the operation return code indicates success, then the junction was successfully created and is immediately accessible.

在操作成功返回之前,路径和FSN之间的关联必须是持久的。如果操作返回代码指示成功,则连接已成功创建并可立即访问。

If successful, subsequent references via NFSv4.0 [RFC7530] or NFSv4.1 [RFC5661] clients to the directory that has been replaced by the junction will result in a referral to a current location of the target fileset [RFC7532].

如果成功,通过NFSv4.0[RFC7530]或NFSv4.1[RFC5661]客户端对已被连接替换的目录的后续引用将导致对目标文件集[RFC7532]的当前位置的引用。

The effective permissions of the directory that is converted, by this operation, into a junction are the permissions of the root directory of the target fileset. The original permissions of the directory (and any other attributes it might have) are subsumed by the junction.

通过此操作转换为连接的目录的有效权限是目标文件集的根目录的权限。该目录的原始权限(以及它可能具有的任何其他属性)包含在连接中。

This operation does not create a fileset at the location targeted by the junction. If the target fileset does not exist, the junction will still be created. An NFS client will discover the missing fileset when it traverses the junction.

此操作不会在连接的目标位置创建文件集。如果目标文件集不存在,仍将创建连接。NFS客户端将在遍历连接时发现丢失的文件集。

5.2.3. Errors
5.2.3. 错误

FEDFS_ERR_ACCESS FEDFS_ERR_BADCHAR FEDFS_ERR_BADNAME FEDFS_ERR_NAMETOOLONG FEDFS_ERR_LOOP FEDFS_ERR_BADXDR FEDFS_ERR_EXIST FEDFS_ERR_INVAL FEDFS_ERR_IO FEDFS_ERR_NOSPC FEDFS_ERR_NOTLOCAL FEDFS_ERR_PERM FEDFS_ERR_ROFS FEDFS_ERR_SVRFAULT FEDFS_ERR_PATH_TYPE_UNSUPP FEDFS_ERR_NOTSUPP FEDFS_ERR_DELAY

FEDFS\u ERR\u ACCESS FEDFS\u ERR\u BADCHAR FEDFS\u ERR\u BADNAME FEDFS\u ERR\u NAMETOOLONG FEDFS\u ERR\u LOOP FEDFS\u ERR\u baddr FEDFS\u ERR\u存在FEDFS\u ERR\u无效FEDFS\u ERR\u IO FEDFS\u ERR\u NOSPC FEDFS\u ERR\u not本地FEDFS\u ERR\u PERM FEDFS\u PERM FEDFS\u ERR\u rof FEDFS\u FEDFS\u ERR\r FEDFS\u ERR\u ERR\u svs\u支持的路径类型

5.3. FEDFS_DELETE_JUNCTION
5.3. FEDFS_删除_连接
5.3.1. Synopsis
5.3.1. 提要

Delete an existing junction from some location on the server (defined as a pathname).

从服务器上的某个位置(定义为路径名)删除现有连接。

5.3.2. Description
5.3.2. 描述

This operation removes a junction specified by a server-relative path.

此操作删除服务器相对路径指定的连接。

As with FEDFS_CREATE_JUNCTION, the junction on the server is identified by a pathname in the form of an array of one or more UTF-8 path component strings. It is not required that this path be accessible in any other manner (e.g., to a file-access client). This path does not appear in the federated namespace, except by

与FEDFS_CREATE_JUNCTION一样,服务器上的连接由路径名标识,路径名的形式为一个或多个UTF-8路径组件字符串数组。不要求以任何其他方式(例如,文件访问客户端)访问此路径。此路径不会出现在联合命名空间中,除非

coincidence; there is no requirement that the global namespace reflect the server namespace, nor is it required that this path be relative to the server pseudo-root. It does not need to be a path that is accessible via NFS.

巧合不要求全局命名空间反映服务器命名空间,也不要求此路径相对于服务器伪根。它不需要是可以通过NFS访问的路径。

If the fileset is read-only, then this operation MUST indicate this with a status of FEDFS_ERR_ROFS.

如果文件集是只读的,则此操作必须以FEDFS\u ERR\u ROFS的状态指示此操作。

If the path contains a character that is not supported by the server, then status FEDFS_ERR_BADCHAR MUST be returned.

如果路径包含服务器不支持的字符,则必须返回状态FEDFS\u ERR\u BADCHAR。

The path used to delete a junction might not be the same path that was used to create the junction. If the namespace on the server has changed, then the junction might now appear at a different path than where it was created. If there is more than one valid path to the junction, any of them can be used.

用于删除连接的路径可能与用于创建连接的路径不同。如果服务器上的命名空间已更改,则连接现在可能会显示在与创建位置不同的路径上。如果有多条有效路径到达交叉点,则可以使用其中任何一条路径。

The path is REQUIRED to exist and be completely local to the server. It MUST NOT contain a junction, except as the final component, which MUST be a junction. If any other component of the path is a junction, then this operation MUST fail with status FEDFS_ERR_NOTLOCAL. If the last component of the path is not a junction, then this operation MUST return status FEDFS_ERR_NOTJUNCT. The path might contain a symbolic link (if supported by the local server), but the traversal of the path MUST remain within the server-local namespace.

该路径必须存在并完全位于服务器本地。它不能包含连接,但作为最终组件的除外,该组件必须是连接。如果路径的任何其他组件是连接,则此操作必须失败,状态为FEDFS\u ERR\u NOTLOCAL。如果路径的最后一个组件不是连接,则此操作必须返回状态FEDFS\u ERR\u NOTJUNCT。路径可能包含符号链接(如果本地服务器支持),但路径的遍历必须保留在服务器本地名称空间内。

The server MAY enforce the local permissions on the path, including the final component. If a server wishes to report that a path cannot be traversed because of insufficient permissions, or the final component is an unexecutable or unwritable directory, then the operation MUST fail with status FEDFS_ERR_ACCESS.

服务器可以对路径(包括最终组件)强制执行本地权限。如果服务器希望报告由于权限不足而无法遍历路径,或者最终组件是不可执行或不可写入的目录,则操作必须失败,状态为FEDFS\u ERR\u ACCESS。

The removal of the association between the path and the FSN MUST be durable before the operation returns successfully. If the operation return code indicates success, then the junction was successfully destroyed.

在操作成功返回之前,必须持久地删除路径和FSN之间的关联。如果操作返回代码指示成功,则连接已成功销毁。

The effective permissions and other attributes of the directory that is restored by this operation SHOULD be identical to their value prior to the creation of the junction.

此操作还原的目录的有效权限和其他属性应与其在创建连接之前的值相同。

After removal of the junction, the fileserver MAY check if any of its existing junctions reference the NSDB specified in the removed junction's FSN. If the NSDB is not referenced, the fileserver MAY delete the connection parameters of the unreferenced NSDB.

移除连接后,文件服务器可能会检查其现有连接是否引用了在移除的连接的FSN中指定的NSDB。如果未引用NSDB,文件服务器可能会删除未引用NSDB的连接参数。

5.3.3. Errors
5.3.3. 错误

FEDFS_ERR_ACCESS FEDFS_ERR_BADCHAR FEDFS_ERR_BADNAME FEDFS_ERR_NAMETOOLONG FEDFS_ERR_LOOP FEDFS_ERR_BADXDR FEDFS_ERR_INVAL FEDFS_ERR_IO FEDFS_ERR_NOTJUNCT FEDFS_ERR_NOTLOCAL FEDFS_ERR_PERM FEDFS_ERR_ROFS FEDFS_ERR_SVRFAULT FEDFS_ERR_PATH_TYPE_UNSUPP FEDFS_ERR_NOTSUPP FEDFS_ERR_DELAY

FEDFS\u ERR\u ACCESS FEDFS\u ERR\u BADCHAR FEDFS\u ERR\u BADNAME FEDFS\u ERR\u NAMETOOLONG FEDFS\u ERR\u LOOP FEDFS\u ERR\u baddr FEDFS\u ERR\u invali FEDFS\u ERR\u IO FEDFS\u ERR\u NOTJUNCT FEDFS\u ERR\u NOTLOCAL FEDFS\u ERR\u PERM FEDFS\u FEDFS\u ERR\u PERM FEDFS\u ERR\u FEDFS\u ERR\u ERR\r FEDFS错误FEDFS\u ERR\u fault FEDFS\u ERR\u ERR\u fault FEDFS\u ERR\u ERR\u fault FEDFS\u ERR

5.4. FEDFS_LOOKUP_JUNCTION
5.4. FEDFS_查找_连接
5.4.1. Synopsis
5.4.1. 提要

Query the server to discover the current value of the junction (if any) at a given path in the server namespace.

查询服务器以发现服务器命名空间中给定路径处的连接(如果有)的当前值。

5.4.2. Description
5.4.2. 描述

This operation queries a server to determine whether a given path ends in a junction. If it does, the FSN to which the junction refers and the fileserver's ability to resolve the junction is returned.

此操作查询服务器以确定给定路径是否以连接结束。如果是,则返回连接引用的FSN以及文件服务器解析连接的能力。

Ordinary NFSv4 operations do not provide any general mechanism to determine whether an object is a junction -- there is no encoding specified by the NFSv4 protocol that can represent this information.

普通的NFSv4操作不提供任何通用机制来确定对象是否是连接点——NFSv4协议没有指定可以表示此信息的编码。

As with FEDFS_CREATE_JUNCTION, the pathname MUST be in the form of an array of one or more UTF-8 path component strings. It is not required that this path be accessible in any other manner (e.g., to a file-access client). This path does not appear in the federated namespace, except by coincidence; there is no requirement that the global namespace reflect the server namespace, nor is it required that this path be relative to the server pseudo-root. It does not need to be a path that is accessible via NFS.

与FEDFS_CREATE_JUNCTION一样,路径名必须采用一个或多个UTF-8路径组件字符串的数组形式。不要求以任何其他方式(例如,文件访问客户端)访问此路径。此路径不会出现在联邦名称空间中,除非是巧合;不要求全局命名空间反映服务器命名空间,也不要求此路径相对于服务器伪根。它不需要是可以通过NFS访问的路径。

If the path contains a character that is not supported by the server, then status FEDFS_ERR_BADCHAR MUST be returned.

如果路径包含服务器不支持的字符,则必须返回状态FEDFS\u ERR\u BADCHAR。

The path used to look up a junction might not be the same path that was used to create the junction. If the namespace on the server has changed, then a junction might now appear at a different path than where it was created. If there is more than one valid path to the junction, any of them might be used.

用于查找连接的路径可能与用于创建连接的路径不同。如果服务器上的命名空间已更改,则连接现在可能会显示在与创建位置不同的路径上。如果有多个有效路径指向交叉点,则可以使用其中任何一个路径。

The path is REQUIRED to exist and be completely local to the server. It MUST NOT contain a junction, except as the final component. If any other component of the path is a junction, then this operation MUST fail with status FEDFS_ERR_NOTLOCAL. If the last component of the path is not a junction, then this operation MUST return the status FEDFS_ERR_NOTJUNCT. The path might contain a symbolic link (if supported by the local server), but the traversal of the path MUST remain within the server-local namespace.

该路径必须存在并完全位于服务器本地。除作为最终构件外,它不得包含连接。如果路径的任何其他组件是连接,则此操作必须失败,状态为FEDFS\u ERR\u NOTLOCAL。如果路径的最后一个组件不是连接,则此操作必须返回状态FEDFS\u ERR\u NOTJUNCT。路径可能包含符号链接(如果本地服务器支持),但路径的遍历必须保留在服务器本地名称空间内。

The server MAY enforce the local permissions on the path, including the final component. If a server wishes to report that a path cannot be traversed because of insufficient permissions, or the final component is an unexecutable or unwritable directory, then the operation MUST fail with status FEDFS_ERR_ACCESS.

服务器可以对路径(包括最终组件)强制执行本地权限。如果服务器希望报告由于权限不足而无法遍历路径,或者最终组件是不可执行或不可写入的目录,则操作必须失败,状态为FEDFS\u ERR\u ACCESS。

If the junction exists, the resolve parameter allows for testing the fileserver's ability to resolve the junction. If the junction does not exist, the fileserver will ignore the resolve parameter.

如果连接存在,resolve参数允许测试文件服务器解析连接的能力。如果连接不存在,文件服务器将忽略resolve参数。

If the junction exists and the resolve parameter is set to FEDFS_RESOLVE_NONE, the fileserver MUST NOT attempt to resolve the FSN. This will allow an administrator to obtain the junction's FSN even if the resolution would fail. Therefore, on success, the result of a FEDFS_RESOLVE_NONE call will return a zero-length fsl list in the FedFsLookupResOk structure.

如果连接存在并且resolve参数设置为FEDFS_resolve_NONE,则文件服务器不得尝试解析FSN。这将允许管理员获得交叉点的FSN,即使解析失败。因此,如果成功,FEDFS_RESOLVE_NONE调用的结果将在FedFsLookupResOk结构中返回长度为零的fsl列表。

If the junction exists and the resolve parameter is set to FEDFS_RESOLVE_CACHE, the fileserver MUST attempt to resolve the FSN using its FSL cache, if one exists. The fileserver MUST NOT resolve the FSN by contacting the appropriate NSDB. If the fileserver's cache does not have a mapping for the FSN in question, the result of the operation MUST be FEDFS_OK with 0 elements in the FedFsLookupResOk structure's fsl array. The operation MAY fail with status FEDFS_ERR_NO_CACHE if the fileserver does not contain an FSN-to-FSL cache or with status FEDFS_ERR_UNKNOWN_CACHE if the state of the cache is unknown.

如果连接存在并且resolve参数设置为FEDFS_resolve_CACHE,则文件服务器必须尝试使用其FSL缓存(如果存在)解析FSN。文件服务器不得通过联系相应的NSDB来解析FSN。如果文件服务器的缓存没有相关FSN的映射,则操作的结果必须是FEDFS_OK,并且FedFsLookupResOk结构的fsl数组中有0个元素。如果文件服务器不包含FSN到FSL缓存,则操作可能会失败,状态为FEDFS\u ERR\u NO\u缓存;如果缓存的状态未知,则操作可能会失败,状态为FEDFS\u ERR\u UNKNOWN\u缓存。

If the junction exists and the resolve parameter is set to FEDFS_RESOLVE_NSDB, the fileserver MUST attempt to resolve the FSN by contacting the appropriate NSDB. The FSN MUST NOT be resolved using cached information. The resolution MAY fail with FEDFS_ERR_NSDB_ROUTE, FEDFS_ERR_NSDB_DOWN, FEDFS_ERR_NSDB_CONN,

如果连接存在并且resolve参数设置为FEDFS_resolve_NSDB,则文件服务器必须通过联系相应的NSDB来尝试解析FSN。不能使用缓存的信息解析FSN。如果FEDFS\u ERR\u NSDB\u路由、FEDFS\u ERR\u NSDB\u关闭、FEDFS\u ERR\u NSDB\u连接、,

FEDFS_ERR_NSDB_AUTH, FEDFS_ERR_NSDB_LDAP, FEDFS_ERR_NSDB_LDAP_VAL, FEDFS_ERR_NSDB_NOFSN, FEDFS_ERR_NSDB_NOFSL, FEDFS_ERR_NSDB_NONCE, FEDFS_ERR_NSDB_RESPONSE, FEDFS_ERR_NSDB_FAULT, FEDFS_ERR_NSDB_LDAP_REFERRAL, FEDFS_ERR_NSDB_LDAP_REFERRAL_VAL, FEDFS_ERR_NSDB_LDAP_REFERRAL_NOTFOLLOWED, or FEDFS_ERR_NSDB_PARAMS_LDAP_REFERRAL, depending on the nature of the failure.

FEDFDFS(FEDFDFS)和FEDFDFS(FEDFDFS)和FEDFDFS(FEDFS)和FEDFDFS(FEDFS)和FEDFS(FEDFDFDFS(FEDFS)和FEDFS(FEDFS)和FEDFS(FEDFS)和FEDFDFS(FEDFS)和NSDB(NSDB)的作者身份认证,FEDFDFS(FEDFS)和FEDFS(FEDFS)的错误错误(UNDB)的作者们在数据库(UNDB)的使用了LDAP的LDAP的LDAP和LDAP的LDAP的LDAP的LDAP的文件,LDAP的使用层的使用层的使用层的使用价价价价价价价价价价价价价价价价价是关于关于关于关于关于关于关于关于关于关于关于关于非非非非非政府数据库的文件,非非非政府数据库的使用价关于关于关于非政府数据库的使用价是非政府数据库的文件,非政府数据库的使用价关于关于关于关于数据库的文件,非政府数据库的使用价关于关于关于关于关于关于关于关于_PARAMS_LDAP_转介,取决于故障的性质。

In the case of an LDAP failure, the fileserver MUST return either FEDFS_ERR_NSDB_LDAP or FEDFS_ERR_NSDB_LDAP_VAL. FEDFS_ERR_NSDB_LDAP indicates that an LDAP protocol error occurred during the resolution. FEDFS_ERR_NSDB_LDAP_VAL also indicates that an LDAP protocol error occurred during the resolution and allows the LDAP protocol error value to be returned in the FedFsLookupRes's ldapResultCode field (see the resultCode values in Section 4.1.9 of [RFC4511]).

在LDAP失败的情况下,文件服务器必须返回FEDFS_ERR_NSDB_LDAP或FEDFS_ERR_NSDB_LDAP_VAL。FEDFS_ERR_NSDB_LDAP表示在解析过程中发生了LDAP协议错误。FEDFS_ERR_NSDB_LDAP_VAL还表示在解析过程中发生了LDAP协议错误,并允许在FEDFSLookupress的ldapResultCode字段中返回LDAP协议错误值(请参阅[RFC4511]第4.1.9节中的resultCode值)。

If the NSDB responds with an LDAP referral, either the Referral type defined in Section 4.1.10 of [RFC4511] or the SearchResultReference type defined in Section 4.5.3 of [RFC4511], the fileserver SHOULD process the LDAP referral using the same policies as the fileserver's file-access protocol server. The fileserver MUST indicate a failure while processing the LDAP referral using FEDFS_ERR_NSDB_LDAP_REFERRAL, FEDFS_ERR_NSDB_LDAP_REFERRAL_VAL, FEDFS_ERR_NSDB_LDAP_REFERRAL_NOTFOLLOWED, or FEDFS_ERR_NSDB_PARAMS_LDAP_REFERRAL. The FEDFS_ERR_NSDB_LDAP_REFERRAL_VAL is analogous to the FEDFS_ERR_NSDB_LDAP_VAL error and allows the LDAP protocol error value to be returned in the FedFsLookupResReferralVal's ldapResultCode field. The FEDFS_ERR_NSDB_LDAP_REFERRAL and FEDFS_ERR_NSDB_PARAMS_LDAP_REFERRAL errors allow the NSDB targeted by the LDAP referral to be returned in the FedFsLookupRes's targetNsdb field. Similarly, the FEDFS_ERR_NSDB_LDAP_REFERRAL_VAL error includes this information in the FedFsLookupResReferralVal's targetNsdb.

如果NSDB响应LDAP引用,[RFC4511]第4.1.10节中定义的引用类型或[RFC4511]第4.5.3节中定义的SearchResultReference类型,则文件服务器应使用与文件服务器的文件访问协议服务器相同的策略处理LDAP引用。文件服务器在使用FEDFS\u ERR\u NSDB\u LDAP\u引用、FEDFS\u ERR\u NSDB\u LDAP\u reference\VAL、FEDFS\u ERR\u NSDB\u LDAP\u reference\u notfollowered或FEDFS\u ERR\u NSDB\u PARAMS\u LDAP\u引用处理LDAP引用时必须指示失败。FEDFS_ERR_NSDB_LDAP_referror_VAL类似于FEDFS_ERR_NSDB_LDAP_VAL错误,并允许在FedFsLookupResReferralVal的ldapResultCode字段中返回LDAP协议错误值。FEDFS_ERR_NSDB_LDAP_引用和FEDFS_ERR_NSDB_PARAMS_LDAP_引用错误允许在FedFsLookupRes的targetNsdb字段中返回LDAP引用所针对的NSDB。类似地,FEDFS_ERR_NSDB_LDAP_referror_VAL错误在FedFsLookupResReferralVal的targetNsdb中包含此信息。

If the fileserver has a cache of FSL records, the process of resolving an FSN using an NSDB SHOULD result in the cache being updated. A failure to update the cache MAY be indicated with the FEDFS_ERR_NO_CACHE_UPDATE status value, or the operation may complete successfully.

如果文件服务器具有FSL记录的缓存,则使用NSDB解析FSN的过程应导致缓存被更新。更新缓存失败可能由FEDFS_ERR_NO_cache_update status值指示,或者操作可能成功完成。

When updating the cache, new FSLs for the given FSN SHOULD be added to the cache, and deleted FSLs SHOULD be removed from the cache. This behavior is desirable because it allows an administrator to proactively request that the fileserver refresh its FSL cache. For example, an administrator might like to refresh the fileserver's cache when changes are made to an FSN's FSLs.

更新缓存时,应将给定FSN的新FSL添加到缓存中,并从缓存中删除已删除的FSL。这种行为是可取的,因为它允许管理员主动请求文件服务器刷新其FSL缓存。例如,管理员可能希望在更改FSN的FSL时刷新文件服务器的缓存。

If the junction is resolved, the fileserver will include a list of UUIDs for the FSN's FSLs in the FedFsLookupResOk structure's fsl array.

如果解决了连接,文件服务器将在FedFsLookupResOk结构的fsl数组中包含FSN的fsl的UUID列表。

5.4.3. Errors
5.4.3. 错误

FEDFS_ERR_ACCESS FEDFS_ERR_BADCHAR FEDFS_ERR_BADNAME FEDFS_ERR_NAMETOOLONG FEDFS_ERR_LOOP FEDFS_ERR_BADXDR FEDFS_ERR_INVAL FEDFS_ERR_IO FEDFS_ERR_NOTJUNCT FEDFS_ERR_NOTLOCAL FEDFS_ERR_PERM FEDFS_ERR_SVRFAULT FEDFS_ERR_NSDB_ROUTE FEDFS_ERR_NSDB_DOWN FEDFS_ERR_NSDB_CONN FEDFS_ERR_NSDB_AUTH FEDFS_ERR_NSDB_LDAP FEDFS_ERR_NSDB_LDAP_VAL FEDFS_ERR_NSDB_NONCE FEDFS_ERR_NSDB_NOFSN FEDFS_ERR_NSDB_NOFSL FEDFS_ERR_NSDB_RESPONSE FEDFS_ERR_NSDB_FAULT FEDFS_ERR_NSDB_PARAMS FEDFS_ERR_NSDB_LDAP_REFERRAL FEDFS_ERR_NSDB_LDAP_REFERRAL_VAL FEDFS_ERR_NSDB_LDAP_REFERRAL_NOTFOLLOWED FEDFS_ERR_NSDB_PARAMS_LDAP_REFERRAL FEDFS_ERR_PATH_TYPE_UNSUPP FEDFS_ERR_NOTSUPP FEDFS_ERR_DELAY FEDFS_ERR_NO_CACHE FEDFS_ERR_UNKNOWN_CACHE FEDFS_ERR_NO_CACHE_UPDATE

DFS(FEFEDFS)的一个测试层(DFS)的测试层的测试层的测试层的测试层的测试层的测试层的测试层的测试层的测试层的测试层的测试层的测试层的测试层的测试层的测试层的测试层的测试层的测试层的测试层的测试层的测试层的测试层的测试层的测试层的测试层的测试层的测试层的测试层的测试层的测试层的测试层的测试层的测试层的测试层的测试层的测试层的测试层的测试层的测试层的测试层的测试层的测试层的测试层的测试层的测试层的测试层的测试层的测试层的测试层的测试层的测试层的测试层的测试层的测试层的测试层的测试层的测试层的测试层的测试层的测试层的测试层的测试层的测试层的测试层的测试层的测试层的测试层的测试层的测试层的测试层的测试层的测试层的测试层的测试层的测试层的测试DFS\u ERR\u NSDB\u LDAP\u VAL在非DFS(FEFEDFS)中,有人对非非DFS(非非DFS)的非非DFS(非非非DFS的非非非DFS(非非非DFS)的非DFS(非DFS的非DFS的非非DFS(非非非DFS的非DB的非DFS的非DFS的非DFS的非DFS的非DFS的非DFS的非非DFS的非DFS的非非DFS的非非DFS的非DFS的非DFS的非非DFS的非DFS的非非DFS的非DFS的非DFS的非DFS的非非DFS的非DFS的非非DFS的非非非非非DFS的非非非非DFS的非非非DFS的非非非非DFS的非非非非非非非DFS的非非非非非非DFS的非DFS的非DFS的非非非非非非非非非DFS的非非非非非非非非非非非非非非非非非非非非非非非非非非非非非非非非非非非非非非非非非非非非非非非非非非错误\u延迟FEDFS\u错误\u无缓存FEDFS\u错误\u未知\u缓存FEDFS\u错误\u无\u缓存\u更新

5.5. FEDFS_CREATE_REPLICATION
5.5. FEDFS\u创建\u复制
5.5.1. Synopsis
5.5.1. 提要

Set an FSN representing the replication information for the fileset containing the pathname.

设置一个FSN,表示包含路径名的文件集的复制信息。

5.5.2. Description
5.5.2. 描述

This operation indicates the replication information to be returned for a particular fileset. An NFSv4 client might request fs_locations or fs_locations_info at any time to detect other copies of this fileset, and this operation supports this by supplying the FSN the fileserver should use to respond. This FSN should be associated with the entire fileset in which the path resides and should be used to satisfy fs_locations or fs_locations_info attribute requests whenever no junction is being accessed; if a junction is being accessed, the FSN specified by FEDFS_CREATE_JUNCTION will take precedence. Setting the replication FSN on a fileset that already has a replication FSN set is allowed.

此操作指示要为特定文件集返回的复制信息。NFSv4客户端可能随时请求fs_位置或fs_位置信息来检测此文件集的其他副本,此操作通过提供文件服务器应用于响应的FSN来支持此操作。此FSN应与路径所在的整个文件集相关联,并应在未访问任何连接时用于满足fs_位置或fs_位置\u信息属性请求;如果正在访问连接,则FEDFS_CREATE_junction指定的FSN将优先。允许在已设置了复制FSN的文件集上设置复制FSN。

This operation differs from FEDFS_CREATE_JUNCTION in that it controls a fileset-wide attribute not associated with a junction.

此操作与FEDFS_CREATE_连接的不同之处在于,它控制与连接无关的文件集范围的属性。

The server SHOULD permit this operation even on read-only filesets but MUST return FEDFS_ERR_ROFS if this is not possible.

即使在只读文件集上,服务器也应允许此操作,但如果无法执行此操作,则必须返回FEDFS\u ERR\u ROFS。

If the path contains a character that is not supported by the server, then status FEDFS_ERR_BADCHAR MUST be returned.

如果路径包含服务器不支持的字符,则必须返回状态FEDFS\u ERR\u BADCHAR。

The path is REQUIRED to exist and be completely local to the server. It MUST NOT contain a junction. If any component of the path is a junction, then this operation MUST fail with status FEDFS_ERR_NOTLOCAL. The path might contain a symbolic link (if supported by the local server), but the traversal of the path MUST remain within the server-local namespace.

该路径必须存在并完全位于服务器本地。它不能包含连接。如果路径的任何组件是连接,则此操作必须失败,状态为FEDFS\u ERR\u NOTLOCAL。路径可能包含符号链接(如果本地服务器支持),但路径的遍历必须保留在服务器本地名称空间内。

The server MAY enforce the local permissions on the path, including the final component. If a server wishes to report that a path cannot be traversed because of insufficient permissions, or the final component is an unexecutable or unwritable directory, then the operation MUST fail with status FEDFS_ERR_ACCESS.

服务器可以对路径(包括最终组件)强制执行本地权限。如果服务器希望报告由于权限不足而无法遍历路径,或者最终组件是不可执行或不可写入的目录,则操作必须失败,状态为FEDFS\u ERR\u ACCESS。

The operation SHOULD fail with status FEDFS_ERR_NSDB_PARAMS if the fileserver does not have any connection parameters on record for the specified NSDB, or the server may allow the operation to proceed using some set of default NSDB connection parameters.

如果文件服务器未记录指定NSDB的任何连接参数,或者服务器可能允许使用某组默认NSDB连接参数继续操作,则操作应失败,状态为FEDFS_ERR_NSDB_PARAMS。

The same FSN value SHOULD be associated with all replicas of a file system. Depending on the underlying representation, the FSN associated with a file system might or might not be replicated automatically with the file system replication mechanism. Therefore, if FEDFS_CREATE_REPLICATION is used on one replica of a file system, it SHOULD be used on all replicas.

相同的FSN值应与文件系统的所有副本相关联。根据基础表示形式,与文件系统关联的FSN可能会也可能不会通过文件系统复制机制自动复制。因此,如果在文件系统的一个副本上使用FEDFS_CREATE_复制,则应在所有副本上使用它。

5.5.3. Errors
5.5.3. 错误

FEDFS_ERR_ACCESS FEDFS_ERR_BADCHAR FEDFS_ERR_BADNAME FEDFS_ERR_NAMETOOLONG FEDFS_ERR_LOOP FEDFS_ERR_BADXDR FEDFS_ERR_EXIST FEDFS_ERR_INVAL FEDFS_ERR_IO FEDFS_ERR_NOSPC FEDFS_ERR_NOTLOCAL FEDFS_ERR_PERM FEDFS_ERR_ROFS FEDFS_ERR_SVRFAULT FEDFS_ERR_PATH_TYPE_UNSUPP FEDFS_ERR_NOTSUPP FEDFS_ERR_DELAY

FEDFS\u ERR\u ACCESS FEDFS\u ERR\u BADCHAR FEDFS\u ERR\u BADNAME FEDFS\u ERR\u NAMETOOLONG FEDFS\u ERR\u LOOP FEDFS\u ERR\u baddr FEDFS\u ERR\u存在FEDFS\u ERR\u无效FEDFS\u ERR\u IO FEDFS\u ERR\u NOSPC FEDFS\u ERR\u not本地FEDFS\u ERR\u PERM FEDFS\u PERM FEDFS\u ERR\u rof FEDFS\u FEDFS\u ERR\r FEDFS\u ERR\u ERR\u svs\u支持的路径类型

5.6. FEDFS_DELETE_REPLICATION
5.6. FEDFS_删除_复制
5.6.1. Synopsis
5.6.1. 提要

Remove the replication information for the fileset containing the pathname.

删除包含路径名的文件集的复制信息。

5.6.2. Description
5.6.2. 描述

This operation removes any replication information from the fileset in which the path resides, such that NFSv4 client requests for fs_locations or fs_locations_info in the absence of a junction will not be satisfied.

此操作将从路径所在的文件集中删除任何复制信息,这样,在没有连接的情况下,NFSv4客户端对fs_位置或fs_位置信息的请求将无法得到满足。

This operation differs from FEDFS_DELETE_JUNCTION in that it controls a fileset-wide attribute not associated with a junction.

此操作与FEDFS_DELETE_连接的不同之处在于,它控制与连接无关的文件集范围的属性。

The server SHOULD permit this operation even on read-only filesets but MUST return FEDFS_ERR_ROFS if this is not possible.

即使在只读文件集上,服务器也应允许此操作,但如果无法执行此操作,则必须返回FEDFS\u ERR\u ROFS。

If the path contains a character that is not supported by the server, then status FEDFS_ERR_BADCHAR MUST be returned.

如果路径包含服务器不支持的字符,则必须返回状态FEDFS\u ERR\u BADCHAR。

The path is REQUIRED to exist and be completely local to the server. It MUST NOT contain a junction. If any component of the path is a junction, then this operation MUST fail with status FEDFS_ERR_NOTLOCAL.

该路径必须存在并完全位于服务器本地。它不能包含连接。如果路径的任何组件是连接,则此操作必须失败,状态为FEDFS\u ERR\u NOTLOCAL。

The server MAY enforce the local permissions on the path, including the final component. If a server wishes to report that a path cannot be traversed because of insufficient permissions, or the final component is an unexecutable or unwritable directory, then the operation MUST fail with status FEDFS_ERR_ACCESS.

服务器可以对路径(包括最终组件)强制执行本地权限。如果服务器希望报告由于权限不足而无法遍历路径,或者最终组件是不可执行或不可写入的目录,则操作必须失败,状态为FEDFS\u ERR\u ACCESS。

5.6.3. Errors
5.6.3. 错误

FEDFS_ERR_ACCESS FEDFS_ERR_BADCHAR FEDFS_ERR_BADNAME FEDFS_ERR_NAMETOOLONG FEDFS_ERR_LOOP FEDFS_ERR_BADXDR FEDFS_ERR_INVAL FEDFS_ERR_IO FEDFS_ERR_NOTJUNCT FEDFS_ERR_NOTLOCAL FEDFS_ERR_PERM FEDFS_ERR_ROFS FEDFS_ERR_SVRFAULT FEDFS_ERR_PATH_TYPE_UNSUPP FEDFS_ERR_NOTSUPP FEDFS_ERR_DELAY

FEDFS\u ERR\u ACCESS FEDFS\u ERR\u BADCHAR FEDFS\u ERR\u BADNAME FEDFS\u ERR\u NAMETOOLONG FEDFS\u ERR\u LOOP FEDFS\u ERR\u baddr FEDFS\u ERR\u invali FEDFS\u ERR\u IO FEDFS\u ERR\u NOTJUNCT FEDFS\u ERR\u NOTLOCAL FEDFS\u ERR\u PERM FEDFS\u FEDFS\u ERR\u PERM FEDFS\u ERR\u FEDFS\u ERR\u ERR\r FEDFS错误FEDFS\u ERR\u fault FEDFS\u ERR\u ERR\u fault FEDFS\u ERR\u ERR\u fault FEDFS\u ERR

5.7. FEDFS_LOOKUP_REPLICATION
5.7. FEDFS\u查找\u复制
5.7.1. Synopsis
5.7.1. 提要

Query the server to discover the current replication information (if any) at the given path.

查询服务器以发现给定路径上的当前复制信息(如果有)。

5.7.2. Description
5.7.2. 描述

This operation queries a server to determine whether a fileset containing the given path has replication information associated with it. If it does, the FSN for that replication information is returned.

此操作查询服务器,以确定包含给定路径的文件集是否具有与其关联的复制信息。如果是,则返回该复制信息的FSN。

This operation differs from FEDFS_LOOKUP_JUNCTION in that it inquires about a fileset-wide attribute not associated with a junction.

此操作与FEDFS_LOOKUP_JUNCTION的不同之处在于,它查询与连接无关的文件集范围的属性。

If the path contains a character that is not supported by the server, then status FEDFS_ERR_BADCHAR MUST be returned.

如果路径包含服务器不支持的字符,则必须返回状态FEDFS\u ERR\u BADCHAR。

The path is REQUIRED to exist and be completely local to the server. It MUST NOT contain a junction. If any component of the path is a junction, then this operation MUST fail with status FEDFS_ERR_NOTLOCAL.

该路径必须存在并完全位于服务器本地。它不能包含连接。如果路径的任何组件是连接,则此操作必须失败,状态为FEDFS\u ERR\u NOTLOCAL。

The server MAY enforce the local permissions on the path, including the final component. If a server wishes to report that a path cannot be traversed because of insufficient permissions, or the final component is an unexecutable or unwritable directory, then the operation MUST fail with status FEDFS_ERR_ACCESS.

服务器可以对路径(包括最终组件)强制执行本地权限。如果服务器希望报告由于权限不足而无法遍历路径,或者最终组件是不可执行或不可写入的目录,则操作必须失败,状态为FEDFS\u ERR\u ACCESS。

Interpretation of the resolve parameter and the procedure's results shall be the same as specified in Section 5.4 for the FEDFS_LOOKUP_JUNCTION operation.

解析参数和程序结果的解释应与第5.4节中规定的FEDFS_查找_连接操作相同。

5.7.3. Errors
5.7.3. 错误

FEDFS_ERR_ACCESS FEDFS_ERR_BADCHAR FEDFS_ERR_BADNAME FEDFS_ERR_NAMETOOLONG FEDFS_ERR_LOOP FEDFS_ERR_BADXDR FEDFS_ERR_INVAL FEDFS_ERR_IO FEDFS_ERR_NOTJUNCT FEDFS_ERR_NOTLOCAL FEDFS_ERR_PERM FEDFS_ERR_SVRFAULT FEDFS_ERR_NSDB_ROUTE FEDFS_ERR_NSDB_DOWN FEDFS_ERR_NSDB_CONN FEDFS_ERR_NSDB_AUTH FEDFS_ERR_NSDB_LDAP FEDFS_ERR_NSDB_LDAP_VAL FEDFS_ERR_NSDB_NONCE FEDFS_ERR_NSDB_NOFSN FEDFS_ERR_NSDB_NOFSL FEDFS_ERR_NSDB_RESPONSE FEDFS_ERR_NSDB_FAULT FEDFS_ERR_NSDB_PARAMS FEDFS_ERR_NSDB_LDAP_REFERRAL

DFS(FEFEDFS)的一个测试层(DFS)的测试层的测试层的测试层的测试层的测试层的测试层的测试层的测试层的测试层的测试层的测试层的测试层的测试层的测试层的测试层的测试层的测试层的测试层的测试层的测试层的测试层的测试层的测试层的测试层的测试层的测试层的测试层的测试层的测试层的测试层的测试层的测试层的测试层的测试层的测试层的测试层的测试层的测试层的测试层的测试层的测试层的测试层的测试层的测试层的测试层的测试层的测试层的测试层的测试层的测试层的测试层的测试层的测试层的测试层的测试层的测试层的测试层的测试层的测试层的测试层的测试层的测试层的测试层的测试层的测试层的测试层的测试层的测试层的测试层的测试层的测试层的测试层的测试层的测试层的测试层的测试DFS\u ERR\u NSDB\u LDAP\u VALFEDFS\u ERR\u NSDB\u NONCE FEDFS\u ERR\u NSDB\u NOFSN FEDFS\u ERR\u NSDB\u RESPONSE FEDFS\u ERR\u NSDB\u FAULT FEDFS\u ERR\u NSDB\u PARAMS FEDFS\u errr\u NSDB\u LDAP\u reference

FEDFS_ERR_NSDB_LDAP_REFERRAL_VAL FEDFS_ERR_NSDB_LDAP_REFERRAL_NOTFOLLOWED FEDFS_ERR_NSDB_PARAMS_LDAP_REFERRAL FEDFS_ERR_PATH_TYPE_UNSUPP FEDFS_ERR_NOTSUPP FEDFS_ERR_DELAY FEDFS_ERR_NO_CACHE FEDFS_ERR_UNKNOWN_CACHE

FEDFS\u ERR\u NSDB\u LDAP\u reflection\u VAL FEDFS\u ERR\u NSDB\u LDAP\u reflection\u NOTFOLLOWED FEDFS\u ERR\u NSDB\u PARAMS\u LDAP\u reflection FEDFS\u ERR\u路径类型\u unapp FEDFS\u ERR\u NOTSUPP FEDFS\u ERR\u DELAY FEDFS\u ERR\u NO\u缓存FEDFS\u errr\u未知\u缓存

5.8. FEDFS_SET_NSDB_PARAMS
5.8. FEDFS\u集合\u NSDB\u参数
5.8.1. Synopsis
5.8.1. 提要

Set the connection parameters for the specified NSDB.

为指定的NSDB设置连接参数。

5.8.2. Description
5.8.2. 描述

This operation allows an administrator to set the connection parameters for a given NSDB.

此操作允许管理员为给定NSDB设置连接参数。

If a record for the given NSDB does not exist, a new record is created with the specified connection parameters.

如果给定NSDB的记录不存在,将使用指定的连接参数创建新记录。

If a record for the given NSDB does exist, the existing connection parameters are replaced with the specified connection parameters.

如果给定NSDB的记录确实存在,则现有连接参数将替换为指定的连接参数。

An NSDB is specified using a FedFsNsdbName. The rules in Section 4.1 define when two FedFsNsdbNames are considered equal.

NSDB是使用FedFsNsdbName指定的。第4.1节中的规则定义了两个FedFsNsdbNames何时被视为相等。

The given NSDB need not be referenced by any junctions on the fileserver. This situation will occur when connection parameters for a new NSDB are installed.

文件服务器上的任何连接都不需要引用给定的NSDB。当安装新NSDB的连接参数时,会出现这种情况。

The format of the connection parameters is described in Section 4.

第4节描述了连接参数的格式。

On success, this operation returns FEDFS_OK. When the operation returns, the new connection parameters SHOULD be used for all subsequent LDAP connections to the given NSDB. Existing connections MAY be terminated and re-established using the new connection parameters. The connection parameters SHOULD be durable across fileserver reboots.

成功后,此操作将返回FEDFS_OK。当操作返回时,新的连接参数应用于到给定NSDB的所有后续LDAP连接。可以使用新的连接参数终止和重新建立现有连接。连接参数在文件服务器重新启动时应是持久的。

On failure, an error value indicating the type of error is returned. If the operation's associated user does not have sufficient permissions to create/modify NSDB connection parameters, the operation MUST return FEDFS_ERR_ACCESS.

失败时,返回指示错误类型的错误值。如果操作的关联用户没有足够的权限创建/修改NSDB连接参数,则该操作必须返回FEDFS\u ERR\u访问权限。

5.8.3. Errors
5.8.3. 错误

FEDFS_ERR_ACCESS FEDFS_ERR_BADCHAR FEDFS_ERR_BADNAME FEDFS_ERR_BADXDR FEDFS_ERR_INVAL FEDFS_ERR_IO FEDFS_ERR_NOSPC FEDFS_ERR_SVRFAULT FEDFS_ERR_NOTSUPP FEDFS_ERR_DELAY

FEDFS\u ERR\u ACCESS FEDFS\u ERR\u BADCHAR FEDFS\u ERR\u baddr FEDFS\u ERR\u INVAL FEDFS\u ERR\u IO FEDFS\u ERR\u NOSPC FEDFS\u ERR\u SVRFAULT FEDFS\u ERR\u NOTSUPP FEDFS\u ERR\u DELAY

5.9. FEDFS_GET_NSDB_PARAMS
5.9. FEDFS\u GET\u NSDB\u参数
5.9.1. Synopsis
5.9.1. 提要

Get the connection parameters for the specified NSDB.

获取指定NSDB的连接参数。

5.9.2. Description
5.9.2. 描述

This operations allows an administrator to retrieve connection parameters, if they exist, for the given NSDB.

此操作允许管理员检索给定NSDB的连接参数(如果存在)。

An NSDB is specified using a FedFsNsdbName. The rules in Section 4.1 define when two FedFsNsdbNames are considered equal.

NSDB是使用FedFsNsdbName指定的。第4.1节中的规则定义了两个FedFsNsdbNames何时被视为相等。

A set of connection parameters is considered a match if their associated NSDB is equal (as defined in Section 4.1) to the operation's NSDB argument. Therefore, there is at most one set of connection parameters that can match the query described by this operation.

如果一组连接参数的关联NSDB与操作的NSDB参数相等(如第4.1节所定义),则将其视为匹配。因此,最多有一组连接参数可以匹配此操作描述的查询。

The format of the connection parameters is described in Section 4.

第4节描述了连接参数的格式。

On success, this operation returns FEDFS_OK and the connection parameters on record for the given NSDB.

成功后,此操作将返回FEDFS_OK和给定NSDB记录的连接参数。

On failure, an error value indicating the type of error is returned. This operation MUST return FEDFS_ERR_NSDB_PARAMS to indicate that there are no connection parameters on record for the given NSDB. If the operation's associated user does not have sufficient permissions to view NSDB connection parameters, the operation MUST return FEDFS_ERR_ACCESS.

失败时,返回指示错误类型的错误值。此操作必须返回FEDFS_ERR_NSDB_参数,以指示给定NSDB的记录中没有连接参数。如果操作的关联用户没有足够的权限查看NSDB连接参数,则该操作必须返回FEDFS\u ERR\u访问。

5.9.3. Errors
5.9.3. 错误

FEDFS_ERR_ACCESS FEDFS_ERR_BADCHAR FEDFS_ERR_BADNAME FEDFS_ERR_BADXDR FEDFS_ERR_INVAL FEDFS_ERR_IO FEDFS_ERR_SVRFAULT FEDFS_ERR_NSDB_PARAMS FEDFS_ERR_NOTSUPP FEDFS_ERR_DELAY

FEDFS\u ERR\u ACCESS FEDFS\u ERR\u BADCHAR FEDFS\u ERR\u BADXDR FEDFS\u ERR\u INVAL FEDFS\u ERR\u IO FEDFS\u ERR\u SVRFAULT FEDFS\u ERR\u NSDB\u参数FEDFS\u ERR\u NOTSUPP FEDFS\u ERR\u DELAY

5.10. FEDFS_GET_LIMITED_NSDB_PARAMS
5.10. FEDFS\U GET\U LIMITED\U NSDB\U参数
5.10.1. Synopsis
5.10.1. 提要

Get a limited subset of the connection parameters for the specified NSDB.

获取指定NSDB的连接参数的有限子集。

5.10.2. Description
5.10.2. 描述

This operation allows an administrator to retrieve a limited subset of information on the connection parameters, if they exist, for the given NSDB.

此操作允许管理员检索给定NSDB连接参数(如果存在)的有限信息子集。

An NSDB is specified using a FedFsNsdbName. The rules in Section 4.1 define when two FedFsNsdbNames are considered equal.

NSDB是使用FedFsNsdbName指定的。第4.1节中的规则定义了两个FedFsNsdbNames何时被视为相等。

A set of connection parameters is considered a match if their associated NSDB is equal (as defined in Section 4.1) to the operation's NSDB argument. Therefore, there is at most one set of connection parameters that can match the query described by this operation.

如果一组连接参数的关联NSDB与操作的NSDB参数相等(如第4.1节所定义),则将其视为匹配。因此,最多有一组连接参数可以匹配此操作描述的查询。

This operation returns a limited subset of the connection parameters. Only the FedFsConnectionSec mechanism that is used to protect communication between the fileserver and NSDB is returned.

此操作返回连接参数的有限子集。仅返回用于保护文件服务器和NSDB之间通信的FedFsConnectionSec机制。

Viewing the limited subset of NSDB connection parameters returned by FEDFS_GET_LIMITED_NSDB_PARAMS MAY be a less privileged operation than viewing the entire set of NSDB connection parameters returned by FEDFS_GET_NSDB_PARAMS. For example, the full contents of an NSDB's connection parameters could contain sensitive information for some security mechanisms. FEDFS_GET_LIMITED_NSDB_PARAMS allows the fileserver to communicate a subset of the connection parameters (the security mechanism) to users with sufficient permissions without revealing more sensitive information.

查看FEDFS_GET_limited_NSDB_参数返回的NSDB连接参数的有限子集可能比查看FEDFS_GET_NSDB_参数返回的整个NSDB连接参数集的权限更小。例如,NSDB连接参数的完整内容可能包含某些安全机制的敏感信息。FEDFS_GET_LIMITED_NSDB_参数允许文件服务器将连接参数的子集(安全机制)传递给具有足够权限的用户,而无需透露更敏感的信息。

On success, this operation returns FEDFS_OK and the FedFsConnectionSec value on record for the given NSDB.

成功后,此操作将返回给定NSDB记录的FEDFS_OK和FedFsConnectionSec值。

On failure, an error value indicating the type of error is returned. This operation MUST return FEDFS_ERR_NSDB_PARAMS to indicate that there are no connection parameters on record for the given NSDB. If the operation's associated user does not have sufficient permissions to view the subset of NSDB connection parameters returned by this procedure, the operation MUST return FEDFS_ERR_ACCESS.

失败时,返回指示错误类型的错误值。此操作必须返回FEDFS_ERR_NSDB_参数,以指示给定NSDB的记录中没有连接参数。如果操作的关联用户没有足够的权限查看此过程返回的NSDB连接参数子集,则该操作必须返回FEDFS\u ERR\u ACCESS。

5.10.3. Errors
5.10.3. 错误

FEDFS_ERR_ACCESS FEDFS_ERR_BADCHAR FEDFS_ERR_BADNAME FEDFS_ERR_BADXDR FEDFS_ERR_INVAL FEDFS_ERR_IO FEDFS_ERR_SVRFAULT FEDFS_ERR_NSDB_PARAMS FEDFS_ERR_NOTSUPP FEDFS_ERR_DELAY

FEDFS\u ERR\u ACCESS FEDFS\u ERR\u BADCHAR FEDFS\u ERR\u BADXDR FEDFS\u ERR\u INVAL FEDFS\u ERR\u IO FEDFS\u ERR\u SVRFAULT FEDFS\u ERR\u NSDB\u参数FEDFS\u ERR\u NOTSUPP FEDFS\u ERR\u DELAY

6. Security Considerations
6. 安全考虑

The security considerations of [RFC5531] apply to the protocol described in this document. The ONC RPC protocol supports authentication, integrity, and privacy via the RPCSEC_GSS framework [RFC2203]. Fileservers that support the FedFS administration protocol described in this document MUST support RPCSEC_GSS.

[RFC5531]的安全注意事项适用于本文档中描述的协议。ONC RPC协议通过RPCSEC_GSS框架[RFC2203]支持身份验证、完整性和隐私。支持本文档中描述的FedFS管理协议的文件服务器必须支持RPCSEC_GSS。

As with NFSv4.1 (see Section 2.2.1.1.1.1 of [RFC5661]), FedFS administration protocol clients and servers MUST support RPCSEC_GSS's integrity and authentication services. FedFS administration protocol servers MUST support RPCSEC_GSS's privacy service. FedFS administration protocol clients SHOULD support RPCSEC_GSS's privacy service. When RPCSEC_GSS is employed on behalf of the FedFS administration protocol, RPCSEC_GSS data integrity SHOULD be used.

As with NFSv4.1 (see Section 2.2.1.1.1.1 of [RFC5661]), FedFS administration protocol clients and servers MUST support RPCSEC_GSS's integrity and authentication services. FedFS administration protocol servers MUST support RPCSEC_GSS's privacy service. FedFS administration protocol clients SHOULD support RPCSEC_GSS's privacy service. When RPCSEC_GSS is employed on behalf of the FedFS administration protocol, RPCSEC_GSS data integrity SHOULD be used.translate error, please retry

It is strongly RECOMMENDED that an Access Control Service be employed to restrict access to a fileserver's FedFS administration configuration data via the FedFS administrative protocol to prevent FedFS namespace corruption and protect NSDB communication parameters.

强烈建议使用访问控制服务通过FedFS管理协议限制对文件服务器FedFS管理配置数据的访问,以防止FedFS命名空间损坏并保护NSDB通信参数。

For example, when the FedFsNsdbParams secType field value FEDFS_SEC_TLS is chosen, the payload is used to provision the trust anchor root certificate for TLS secure communication between the

例如,如果选择了FedFsNsdbParams secttype字段值FEDFS_SEC_TLS,则有效负载将用于为服务器之间的TLS安全通信提供信任锚根证书

fileserver and the NSDB. In this case, RPCSEC_GSS with data integrity SHOULD be employed along with an Access Control Service to restrict access to domain administrators.

文件服务器和NSDB。在这种情况下,应将具有数据完整性的RPCSEC_GSS与访问控制服务一起使用,以限制域管理员的访问。

FEDFS_GET_LIMITED_NSDB_PARAMS's interaction with the NSDB's connection parameters is discussed in Section 5.10.2.

第5.10.2节讨论了FEDFS_GET_LIMITED_NSDB_参数与NSDB连接参数的交互。

7. IANA Considerations
7. IANA考虑

A range of ONC RPC program numbers were assigned for use by FedFS using the procedure described in Section 8.3 ("Program Number Assignment") of [RFC5531]. The FedFS range is:

使用[RFC5531]第8.3节(“程序编号分配”)中描述的程序,分配了一系列ONC RPC程序编号,供FedFS使用。FedFS范围为:

IETF NFSv4 Working Group - FedFS 100418 - 100421

IETF NFSv4工作组-FedFS 100418-100421

Program 100418 has been removed from the reserved FedFS range and assigned to version 1 of the ONC RPC program (100418) described in this document with the short name "fedfs_admin", a Description of "FedFS Administration", and a reference to RFC 7533.

程序100418已从保留的FedFS范围中删除,并分配给本文档中描述的ONC RPC程序(100418)版本1,简称为“FedFS_admin”,描述为“FedFS管理”,参考RFC 7533。

8. References
8. 工具书类
8.1. Normative References
8.1. 规范性引用文件

[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997, <http://www.rfc-editor.org/info/rfc2119>.

[RFC2119]Bradner,S.,“RFC中用于表示需求水平的关键词”,BCP 14,RFC 2119,1997年3月<http://www.rfc-editor.org/info/rfc2119>.

[RFC2203] Eisler, M., Chiu, A., and L. Ling, "RPCSEC_GSS Protocol Specification", RFC 2203, September 1997, <http://www.rfc-editor.org/info/rfc2203>.

[RFC2203]Eisler,M.,Chiu,A.,和L.Ling,“RPCSEC_GSS协议规范”,RFC 2203,1997年9月<http://www.rfc-editor.org/info/rfc2203>.

[RFC4122] Leach, P., Mealling, M., and R. Salz, "A Universally Unique IDentifier (UUID) URN Namespace", RFC 4122, July 2005, <http://www.rfc-editor.org/info/rfc4122>.

[RFC4122]Leach,P.,Mealling,M.和R.Salz,“通用唯一标识符(UUID)URN名称空间”,RFC 4122,2005年7月<http://www.rfc-editor.org/info/rfc4122>.

[RFC4506] Eisler, M., Ed., "XDR: External Data Representation Standard", STD 67, RFC 4506, May 2006, <http://www.rfc-editor.org/info/rfc4506>.

[RFC4506]艾斯勒,M.,编辑,“XDR:外部数据表示标准”,STD 67,RFC 4506,2006年5月<http://www.rfc-editor.org/info/rfc4506>.

[RFC4511] Sermersheim, J., Ed., "Lightweight Directory Access Protocol (LDAP): The Protocol", RFC 4511, June 2006, <http://www.rfc-editor.org/info/rfc4511>.

[RFC4511]Sermersheim,J.,Ed.,“轻量级目录访问协议(LDAP):协议”,RFC4511,2006年6月<http://www.rfc-editor.org/info/rfc4511>.

[RFC4513] Harrison, R., Ed., "Lightweight Directory Access Protocol (LDAP): Authentication Methods and Security Mechanisms", RFC 4513, June 2006, <http://www.rfc-editor.org/info/rfc4513>.

[RFC4513]Harrison,R.,Ed.“轻量级目录访问协议(LDAP):身份验证方法和安全机制”,RFC4513,2006年6月<http://www.rfc-editor.org/info/rfc4513>.

[RFC5246] Dierks, T. and E. Rescorla, "The Transport Layer Security (TLS) Protocol Version 1.2", RFC 5246, August 2008, <http://www.rfc-editor.org/info/rfc5246>.

[RFC5246]Dierks,T.和E.Rescorla,“传输层安全(TLS)协议版本1.2”,RFC 5246,2008年8月<http://www.rfc-editor.org/info/rfc5246>.

[RFC5280] Cooper, D., Santesson, S., Farrell, S., Boeyen, S., Housley, R., and W. Polk, "Internet X.509 Public Key Infrastructure Certificate and Certificate Revocation List (CRL) Profile", RFC 5280, May 2008, <http://www.rfc-editor.org/info/rfc5280>.

[RFC5280]Cooper,D.,Santesson,S.,Farrell,S.,Boeyen,S.,Housley,R.,和W.Polk,“Internet X.509公钥基础设施证书和证书撤销列表(CRL)配置文件”,RFC 52802008年5月<http://www.rfc-editor.org/info/rfc5280>.

[RFC5531] Thurlow, R., "RPC: Remote Procedure Call Protocol Specification Version 2", RFC 5531, May 2009, <http://www.rfc-editor.org/info/rfc5531>.

[RFC5531]Thurlow,R.,“RPC:远程过程调用协议规范版本2”,RFC 55312009年5月<http://www.rfc-editor.org/info/rfc5531>.

[RFC7530] Haynes, T., Ed. and D. Noveck, Ed., "Network File System (NFS) Version 4 Protocol", RFC 7530, March 2015, <http://www.rfc-editor.org/info/rfc7530>.

[RFC7530]Haynes,T.,Ed.和D.Noveck,Ed.,“网络文件系统(NFS)第4版协议”,RFC 7530,2015年3月<http://www.rfc-editor.org/info/rfc7530>.

8.2. Informative References
8.2. 资料性引用

[MS-CIFS] Microsoft Corporation, "Common Internet File System (CIFS) Protocol Specification", MS-CIFS 24.0, May 2014.

[MS-CIFS]微软公司,“通用互联网文件系统(CIFS)协议规范”,MS-CIFS 24.0,2014年5月。

[MS-SMB] Microsoft Corporation, "Server Message Block (SMB) Protocol Specification", MS-SMB 43.0, May 2014.

[MS-SMB]微软公司,“服务器消息块(SMB)协议规范”,MS-SMB 43.0,2014年5月。

[MS-SMB2] Microsoft Corporation, "Server Message Block (SMB) Version 2 Protocol Specification", MS-SMB2 46.0, May 2014.

[MS-SMB2]微软公司,“服务器消息块(SMB)第2版协议规范”,MS-SMB2 46.0,2014年5月。

[RFC5661] Shepler, S., Ed., Eisler, M., Ed., and D. Noveck, Ed., "Network File System (NFS) Version 4 Minor Version 1 Protocol", RFC 5661, January 2010, <http://www.rfc-editor.org/info/rfc5661>.

[RFC5661]Shepler,S.,Ed.,Eisler,M.,Ed.,和D.Noveck,Ed.,“网络文件系统(NFS)版本4次要版本1协议”,RFC 56612010年1月<http://www.rfc-editor.org/info/rfc5661>.

[RFC5662] Shepler, S., Ed., Eisler, M., Ed., and D. Noveck, Ed., "Network File System (NFS) Version 4 Minor Version 1 External Data Representation Standard (XDR) Description", RFC 5662, January 2010, <http://www.rfc-editor.org/info/rfc5662>.

[RFC5662]Shepler,S.,Ed.,Eisler,M.,Ed.,和D.Noveck,Ed.,“网络文件系统(NFS)版本4次要版本1外部数据表示标准(XDR)说明”,RFC 5662,2010年1月<http://www.rfc-editor.org/info/rfc5662>.

[RFC5716] Lentini, J., Everhart, C., Ellard, D., Tewari, R., and M. Naik, "Requirements for Federated File Systems", RFC 5716, January 2010, <http://www.rfc-editor.org/info/rfc5716>.

[RFC5716]Lentini,J.,Everhart,C.,Ellard,D.,Tewari,R.,和M.Naik,“联邦文件系统的要求”,RFC 57162010年1月<http://www.rfc-editor.org/info/rfc5716>.

[RFC7532] Lentini, J., Tewari, R., and C. Lever, Ed., "Namespace Database (NSDB) Protocol for Federated File Systems", RFC 7532, March 2015, <http://www.rfc-editor.org/info/rfc7532>.

[RFC7532]Lentini,J.,Tewari,R.,和C.Lever,编辑,“联邦文件系统的名称空间数据库(NSDB)协议”,RFC 7532,2015年3月<http://www.rfc-editor.org/info/rfc7532>.

Acknowledgments

致谢

Daniel Ellard contributed significant parts of this document.

Daniel Ellard贡献了本文件的重要部分。

The authors and editor would like to thank Craig Everhart and Manoj Naik, who were co-authors of an earlier draft version of this document. In addition, we would like to thank Paul Lemahieu, Mario Wurzl, and Robert Thurlow for helping to author this document.

作者和编辑要感谢Craig Everhart和Manoj Naik,他们是本文件早期草稿的共同作者。此外,我们还要感谢Paul Lemahieu、Mario Wurzl和Robert Thurlow帮助编写本文档。

We would like to thank Trond Myklebust for suggesting improvements to the FSL pathname format, David Noveck for his suggestions on internationalization and path encoding rules, and Nicolas Williams for his suggestions.

我们要感谢Trond Myklebust对FSL路径名格式提出的改进建议,感谢David Noveck对国际化和路径编码规则提出的建议,感谢Nicolas Williams提出的建议。

The editor gratefully acknowledges the IESG reviewers, whose constructive comments helped make this a much stronger document.

编辑非常感谢IESG的评论员,他们的建设性评论使本文件更为有力。

Finally, we would like to thank Andy Adamson, Rob Thurlow, and Tom Haynes for helping to get this document out the door.

最后,我们要感谢Andy Adamson、Rob Thurlow和Tom Haynes,感谢他们帮助我们将这份文件分发出去。

The extract.sh shell script and formatting conventions were first described by the authors of the NFSv4.1 XDR specification [RFC5662].

extract.sh shell脚本和格式约定首先由NFSv4.1 XDR规范[RFC5662]的作者描述。

Authors' Addresses

作者地址

James Lentini NetApp 1601 Trapelo Rd, Suite 16 Waltham, MA 02451 United States

美国马萨诸塞州沃尔瑟姆市特拉佩罗路1601号16室詹姆斯·兰蒂尼·内塔普02451

   Phone: +1 781-768-5359
   EMail: jlentini@netapp.com
        
   Phone: +1 781-768-5359
   EMail: jlentini@netapp.com
        

Renu Tewari IBM Almaden 650 Harry Rd San Jose, CA 95120 United States

Renu Tewari IBM Almaden美国加利福尼亚州圣何塞哈里路650号,邮编95120

   EMail: tewarir@us.ibm.com
        
   EMail: tewarir@us.ibm.com
        

Charles Lever (editor) Oracle Corporation 1015 Granger Avenue Ann Arbor, MI 48104 United States

查尔斯·利弗(编辑)美国密歇根州安阿伯格兰杰大道1015号甲骨文公司,邮编:48104

   Phone: +1 248-614-5091
   EMail: chuck.lever@oracle.com
        
   Phone: +1 248-614-5091
   EMail: chuck.lever@oracle.com