aboutsummaryrefslogtreecommitdiffstats
path: root/Documentation
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2014-01-30 13:18:43 -0500
committerLinus Torvalds <torvalds@linux-foundation.org>2014-01-30 13:18:43 -0500
commitd9894c228b11273e720bb63ba120d1d326fe9d94 (patch)
treec9b91b716f281f5accf8860dfadb1ac95abf0090 /Documentation
parentdfa19426160046770b3a38985042df9c9760a25a (diff)
parented47b062ce9546fbe1eebf9da6937df4c5035372 (diff)
Merge branch 'for-3.14' of git://linux-nfs.org/~bfields/linux
Pull nfsd updates from Bruce Fields: - Handle some loose ends from the vfs read delegation support. (For example nfsd can stop breaking leases on its own in a fewer places where it can now depend on the vfs to.) - Make life a little easier for NFSv4-only configurations (thanks to Kinglong Mee). - Fix some gss-proxy problems (thanks Jeff Layton). - miscellaneous bug fixes and cleanup * 'for-3.14' of git://linux-nfs.org/~bfields/linux: (38 commits) nfsd: consider CLAIM_FH when handing out delegation nfsd4: fix delegation-unlink/rename race nfsd4: delay setting current_fh in open nfsd4: minor nfs4_setlease cleanup gss_krb5: use lcm from kernel lib nfsd4: decrease nfsd4_encode_fattr stack usage nfsd: fix encode_entryplus_baggage stack usage nfsd4: simplify xdr encoding of nfsv4 names nfsd4: encode_rdattr_error cleanup nfsd4: nfsd4_encode_fattr cleanup minor svcauth_gss.c cleanup nfsd4: better VERIFY comment nfsd4: break only delegations when appropriate NFSD: Fix a memory leak in nfsd4_create_session sunrpc: get rid of use_gssp_lock sunrpc: fix potential race between setting use_gss_proxy and the upcall rpc_clnt sunrpc: don't wait for write before allowing reads from use-gss-proxy file nfsd: get rid of unused function definition Define op_iattr for nfsd4_open instead using macro NFSD: fix compile warning without CONFIG_NFSD_V3 ...
Diffstat (limited to 'Documentation')
-rw-r--r--Documentation/filesystems/nfs/nfs41-server.txt42
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
5by reading this file will contain either "+4.1" or "-4.1" 5by reading this file will contain either "+4.1" or "-4.1"
6correspondingly. 6correspondingly.
7 7
8Currently, server support for minorversion 1 is disabled by default. 8Currently, server support for minorversion 1 is enabled by default.
9It can be enabled at run time by writing the string "+4.1" to 9It can be disabled at run time by writing the string "-4.1" to
10the /proc/fs/nfsd/versions control file. Note that to write this 10the /proc/fs/nfsd/versions control file. Note that to write this
11control file, the nfsd service must be taken down. Use your user-mode 11control file, the nfsd service must be taken down. You can use rpc.nfsd
12nfs-utils to set this up; see rpc.nfsd(8) 12for 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.
29See http://wiki.linux-nfs.org/wiki/index.php/PNFS_prototype_design 29See http://wiki.linux-nfs.org/wiki/index.php/PNFS_prototype_design
30for more information. 30for more information.
31 31
32The current implementation is intended for developers only: while it
33does support ordinary file operations on clients we have tested against
34(including the linux client), it is incomplete in ways which may limit
35features unexpectedly, cause known bugs in rare cases, or cause
36interoperability 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
47In addition, some limitations are inherited from the current NFSv4
48implementation:
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
55The table below, taken from the NFSv4.1 document, lists 32The table below, taken from the NFSv4.1 document, lists
56the operations that are mandatory to implement (REQ), optional 33the 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
170Implementation notes: 147Implementation notes:
171 148
149SSV:
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
154GSS 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
172DELEGPURGE: 159DELEGPURGE:
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
178EXCHANGE_ID: 165EXCHANGE_ID:
179* only SP4_NONE state protection supported
180* implementation ids are ignored 166* implementation ids are ignored
181 167
182CREATE_SESSION: 168CREATE_SESSION: