diff options
| author | J. Bruce Fields <bfields@redhat.com> | 2013-11-19 09:50:48 -0500 |
|---|---|---|
| committer | J. Bruce Fields <bfields@redhat.com> | 2013-12-10 20:35:57 -0500 |
| commit | 4bd8eabc29e17d9b29cee16077e1621e209a1b27 (patch) | |
| tree | 91f3faf95e170410697488b49169f8fd18b269e5 /Documentation | |
| parent | 781c2a5a5f75eacc04663aced0f0f1a648d4f308 (diff) | |
nfsd4: update 4.1 nfsd status documentation
This has gone a little stale.
Reported-by: Christoph Hellwig <hch@infradead.org>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: J. Bruce Fields <bfields@redhat.com>
Diffstat (limited to 'Documentation')
| -rw-r--r-- | Documentation/filesystems/nfs/nfs41-server.txt | 42 |
1 files changed, 14 insertions, 28 deletions
diff --git a/Documentation/filesystems/nfs/nfs41-server.txt b/Documentation/filesystems/nfs/nfs41-server.txt index 01c2db769791..b930ad087780 100644 --- a/Documentation/filesystems/nfs/nfs41-server.txt +++ b/Documentation/filesystems/nfs/nfs41-server.txt | |||
| @@ -5,11 +5,11 @@ Server support for minorversion 1 can be controlled using the | |||
| 5 | by reading this file will contain either "+4.1" or "-4.1" | 5 | by reading this file will contain either "+4.1" or "-4.1" |
| 6 | correspondingly. | 6 | correspondingly. |
| 7 | 7 | ||
| 8 | Currently, server support for minorversion 1 is disabled by default. | 8 | Currently, server support for minorversion 1 is enabled by default. |
| 9 | It can be enabled at run time by writing the string "+4.1" to | 9 | It can be disabled at run time by writing the string "-4.1" to |
| 10 | the /proc/fs/nfsd/versions control file. Note that to write this | 10 | the /proc/fs/nfsd/versions control file. Note that to write this |
| 11 | control file, the nfsd service must be taken down. Use your user-mode | 11 | control file, the nfsd service must be taken down. You can use rpc.nfsd |
| 12 | nfs-utils to set this up; see rpc.nfsd(8) | 12 | for this; see rpc.nfsd(8). |
| 13 | 13 | ||
| 14 | (Warning: older servers will interpret "+4.1" and "-4.1" as "+4" and | 14 | (Warning: older servers will interpret "+4.1" and "-4.1" as "+4" and |
| 15 | "-4", respectively. Therefore, code meant to work on both new and old | 15 | "-4", respectively. Therefore, code meant to work on both new and old |
| @@ -29,29 +29,6 @@ are still under development out of tree. | |||
| 29 | See http://wiki.linux-nfs.org/wiki/index.php/PNFS_prototype_design | 29 | See http://wiki.linux-nfs.org/wiki/index.php/PNFS_prototype_design |
| 30 | for more information. | 30 | for more information. |
| 31 | 31 | ||
| 32 | The current implementation is intended for developers only: while it | ||
| 33 | does support ordinary file operations on clients we have tested against | ||
| 34 | (including the linux client), it is incomplete in ways which may limit | ||
| 35 | features unexpectedly, cause known bugs in rare cases, or cause | ||
| 36 | interoperability problems with future clients. Known issues: | ||
| 37 | |||
| 38 | - gss support is questionable: currently mounts with kerberos | ||
| 39 | from a linux client are possible, but we aren't really | ||
| 40 | conformant with the spec (for example, we don't use kerberos | ||
| 41 | on the backchannel correctly). | ||
| 42 | - We do not support SSV, which provides security for shared | ||
| 43 | client-server state (thus preventing unauthorized tampering | ||
| 44 | with locks and opens, for example). It is mandatory for | ||
| 45 | servers to support this, though no clients use it yet. | ||
| 46 | |||
| 47 | In addition, some limitations are inherited from the current NFSv4 | ||
| 48 | implementation: | ||
| 49 | |||
| 50 | - Incomplete delegation enforcement: if a file is renamed or | ||
| 51 | unlinked by a local process, a client holding a delegation may | ||
| 52 | continue to indefinitely allow opens of the file under the old | ||
| 53 | name. | ||
| 54 | |||
| 55 | The table below, taken from the NFSv4.1 document, lists | 32 | The table below, taken from the NFSv4.1 document, lists |
| 56 | the operations that are mandatory to implement (REQ), optional | 33 | the operations that are mandatory to implement (REQ), optional |
| 57 | (OPT), and NFSv4.0 operations that are required not to implement (MNI) | 34 | (OPT), and NFSv4.0 operations that are required not to implement (MNI) |
| @@ -169,6 +146,16 @@ NS*| CB_WANTS_CANCELLED | OPT | FDELG, | Section 20.10 | | |||
| 169 | 146 | ||
| 170 | Implementation notes: | 147 | Implementation notes: |
| 171 | 148 | ||
| 149 | SSV: | ||
| 150 | * The spec claims this is mandatory, but we don't actually know of any | ||
| 151 | implementations, so we're ignoring it for now. The server returns | ||
| 152 | NFS4ERR_ENCR_ALG_UNSUPP on EXCHANGE_ID, which should be future-proof. | ||
| 153 | |||
| 154 | GSS on the backchannel: | ||
| 155 | * Again, theoretically required but not widely implemented (in | ||
| 156 | particular, the current Linux client doesn't request it). We return | ||
| 157 | NFS4ERR_ENCR_ALG_UNSUPP on CREATE_SESSION. | ||
| 158 | |||
| 172 | DELEGPURGE: | 159 | DELEGPURGE: |
| 173 | * mandatory only for servers that support CLAIM_DELEGATE_PREV and/or | 160 | * mandatory only for servers that support CLAIM_DELEGATE_PREV and/or |
| 174 | CLAIM_DELEG_PREV_FH (which allows clients to keep delegations that | 161 | CLAIM_DELEG_PREV_FH (which allows clients to keep delegations that |
| @@ -176,7 +163,6 @@ DELEGPURGE: | |||
| 176 | now. | 163 | now. |
| 177 | 164 | ||
| 178 | EXCHANGE_ID: | 165 | EXCHANGE_ID: |
| 179 | * only SP4_NONE state protection supported | ||
| 180 | * implementation ids are ignored | 166 | * implementation ids are ignored |
| 181 | 167 | ||
| 182 | CREATE_SESSION: | 168 | CREATE_SESSION: |
