Skip to content

Commit 2dad320

Browse files
committed
Merge branch 'for-3.1' of git://linux-nfs.org/~bfields/linux
* 'for-3.1' of git://linux-nfs.org/~bfields/linux: nfsd: don't break lease on CLAIM_DELEGATE_CUR locks: rename lock-manager ops nfsd4: update nfsv4.1 implementation notes nfsd: turn on reply cache for NFSv4 nfsd4: call nfsd4_release_compoundargs from pc_release nfsd41: Deny new lock before RECLAIM_COMPLETE done fs: locks: remove init_once nfsd41: check the size of request nfsd41: error out when client sets maxreq_sz or maxresp_sz too small nfsd4: fix file leak on open_downgrade nfsd4: remember to put RW access on stateid destruction NFSD: Added TEST_STATEID operation NFSD: added FREE_STATEID operation svcrpc: fix list-corrupting race on nfsd shutdown rpc: allow autoloading of gss mechanisms svcauth_unix.c: quiet sparse noise svcsock.c: include sunrpc.h to quiet sparse noise nfsd: Remove deprecated nfsctl system call and related code. NFSD: allow OP_DESTROY_CLIENTID to be only op in COMPOUND Fix up trivial conflicts in Documentation/feature-removal-schedule.txt
2 parents 84635d6 + 0c12eaf commit 2dad320

33 files changed

+559
-1426
lines changed

Documentation/feature-removal-schedule.txt

-10
Original file line numberDiff line numberDiff line change
@@ -491,16 +491,6 @@ Who: Wey-Yi Guy <[email protected]>
491491

492492
----------------------------
493493

494-
What: access to nfsd auth cache through sys_nfsservctl or '.' files
495-
in the 'nfsd' filesystem.
496-
When: 3.0
497-
Why: This is a legacy interface which have been replaced by a more
498-
dynamic cache. Continuing to maintain this interface is an
499-
unnecessary burden.
500-
Who: NeilBrown <[email protected]>
501-
502-
----------------------------
503-
504494
What: Legacy, non-standard chassis intrusion detection interface.
505495
When: June 2011
506496
Why: The adm9240, w83792d and w83793 hardware monitoring drivers have

Documentation/filesystems/Locking

+12-12
Original file line numberDiff line numberDiff line change
@@ -338,21 +338,21 @@ fl_release_private: maybe no
338338

339339
----------------------- lock_manager_operations ---------------------------
340340
prototypes:
341-
int (*fl_compare_owner)(struct file_lock *, struct file_lock *);
342-
void (*fl_notify)(struct file_lock *); /* unblock callback */
343-
int (*fl_grant)(struct file_lock *, struct file_lock *, int);
344-
void (*fl_release_private)(struct file_lock *);
345-
void (*fl_break)(struct file_lock *); /* break_lease callback */
346-
int (*fl_change)(struct file_lock **, int);
341+
int (*lm_compare_owner)(struct file_lock *, struct file_lock *);
342+
void (*lm_notify)(struct file_lock *); /* unblock callback */
343+
int (*lm_grant)(struct file_lock *, struct file_lock *, int);
344+
void (*lm_release_private)(struct file_lock *);
345+
void (*lm_break)(struct file_lock *); /* break_lease callback */
346+
int (*lm_change)(struct file_lock **, int);
347347

348348
locking rules:
349349
file_lock_lock may block
350-
fl_compare_owner: yes no
351-
fl_notify: yes no
352-
fl_grant: no no
353-
fl_release_private: maybe no
354-
fl_break: yes no
355-
fl_change yes no
350+
lm_compare_owner: yes no
351+
lm_notify: yes no
352+
lm_grant: no no
353+
lm_release_private: maybe no
354+
lm_break: yes no
355+
lm_change yes no
356356

357357
--------------------------- buffer_head -----------------------------------
358358
prototypes:

Documentation/filesystems/nfs/nfs41-server.txt

+10-23
Original file line numberDiff line numberDiff line change
@@ -39,27 +39,17 @@ interoperability problems with future clients. Known issues:
3939
from a linux client are possible, but we aren't really
4040
conformant with the spec (for example, we don't use kerberos
4141
on the backchannel correctly).
42-
- no trunking support: no clients currently take advantage of
43-
trunking, but this is a mandatory feature, and its use is
44-
recommended to clients in a number of places. (E.g. to ensure
45-
timely renewal in case an existing connection's retry timeouts
46-
have gotten too long; see section 8.3 of the RFC.)
47-
Therefore, lack of this feature may cause future clients to
48-
fail.
4942
- Incomplete backchannel support: incomplete backchannel gss
5043
support and no support for BACKCHANNEL_CTL mean that
5144
callbacks (hence delegations and layouts) may not be
5245
available and clients confused by the incomplete
5346
implementation may fail.
54-
- Server reboot recovery is unsupported; if the server reboots,
55-
clients may fail.
5647
- We do not support SSV, which provides security for shared
5748
client-server state (thus preventing unauthorized tampering
5849
with locks and opens, for example). It is mandatory for
5950
servers to support this, though no clients use it yet.
6051
- Mandatory operations which we do not support, such as
61-
DESTROY_CLIENTID, FREE_STATEID, SECINFO_NO_NAME, and
62-
TEST_STATEID, are not currently used by clients, but will be
52+
DESTROY_CLIENTID, are not currently used by clients, but will be
6353
(and the spec recommends their uses in common cases), and
6454
clients should not be expected to know how to recover from the
6555
case where they are not supported. This will eventually cause
@@ -69,8 +59,9 @@ In addition, some limitations are inherited from the current NFSv4
6959
implementation:
7060

7161
- Incomplete delegation enforcement: if a file is renamed or
72-
unlinked, a client holding a delegation may continue to
73-
indefinitely allow opens of the file under the old name.
62+
unlinked by a local process, a client holding a delegation may
63+
continue to indefinitely allow opens of the file under the old
64+
name.
7465

7566
The table below, taken from the NFSv4.1 document, lists
7667
the operations that are mandatory to implement (REQ), optional
@@ -99,7 +90,7 @@ Operations
9990
+----------------------+------------+--------------+----------------+
10091
| ACCESS | REQ | | Section 18.1 |
10192
NS | BACKCHANNEL_CTL | REQ | | Section 18.33 |
102-
NS | BIND_CONN_TO_SESSION | REQ | | Section 18.34 |
93+
I | BIND_CONN_TO_SESSION | REQ | | Section 18.34 |
10394
| CLOSE | REQ | | Section 18.2 |
10495
| COMMIT | REQ | | Section 18.3 |
10596
| CREATE | REQ | | Section 18.4 |
@@ -111,7 +102,7 @@ NS*| DELEGPURGE | OPT | FDELG (REQ) | Section 18.5 |
111102
NS | DESTROY_CLIENTID | REQ | | Section 18.50 |
112103
I | DESTROY_SESSION | REQ | | Section 18.37 |
113104
I | EXCHANGE_ID | REQ | | Section 18.35 |
114-
NS | FREE_STATEID | REQ | | Section 18.38 |
105+
I | FREE_STATEID | REQ | | Section 18.38 |
115106
| GETATTR | REQ | | Section 18.7 |
116107
P | GETDEVICEINFO | OPT | pNFS (REQ) | Section 18.40 |
117108
P | GETDEVICELIST | OPT | pNFS (OPT) | Section 18.41 |
@@ -145,14 +136,14 @@ NS*| OPENATTR | OPT | | Section 18.17 |
145136
| RESTOREFH | REQ | | Section 18.27 |
146137
| SAVEFH | REQ | | Section 18.28 |
147138
| SECINFO | REQ | | Section 18.29 |
148-
NS | SECINFO_NO_NAME | REC | pNFS files | Section 18.45, |
139+
I | SECINFO_NO_NAME | REC | pNFS files | Section 18.45, |
149140
| | | layout (REQ) | Section 13.12 |
150141
I | SEQUENCE | REQ | | Section 18.46 |
151142
| SETATTR | REQ | | Section 18.30 |
152143
| SETCLIENTID | MNI | | N/A |
153144
| SETCLIENTID_CONFIRM | MNI | | N/A |
154145
NS | SET_SSV | REQ | | Section 18.47 |
155-
NS | TEST_STATEID | REQ | | Section 18.48 |
146+
I | TEST_STATEID | REQ | | Section 18.48 |
156147
| VERIFY | REQ | | Section 18.31 |
157148
NS*| WANT_DELEGATION | OPT | FDELG (OPT) | Section 18.49 |
158149
| WRITE | REQ | | Section 18.32 |
@@ -206,16 +197,12 @@ CREATE_SESSION:
206197
SEQUENCE:
207198
* no support for dynamic slot table renegotiation (optional)
208199

209-
nfsv4.1 COMPOUND rules:
210-
The following cases aren't supported yet:
211-
* Enforcing of NFS4ERR_NOT_ONLY_OP for: BIND_CONN_TO_SESSION, CREATE_SESSION,
212-
DESTROY_CLIENTID, DESTROY_SESSION, EXCHANGE_ID.
213-
* DESTROY_SESSION MUST be the final operation in the COMPOUND request.
214-
215200
Nonstandard compound limitations:
216201
* No support for a sessions fore channel RPC compound that requires both a
217202
ca_maxrequestsize request and a ca_maxresponsesize reply, so we may
218203
fail to live up to the promise we made in CREATE_SESSION fore channel
219204
negotiation.
220205
* No more than one IO operation (read, write, readdir) allowed per
221206
compound.
207+
208+
See also http://wiki.linux-nfs.org/wiki/index.php/Server_4.0_and_4.1_issues.

arch/tile/configs/tilegx_defconfig

-1
Original file line numberDiff line numberDiff line change
@@ -1479,7 +1479,6 @@ CONFIG_NFS_FSCACHE=y
14791479
CONFIG_NFS_USE_KERNEL_DNS=y
14801480
# CONFIG_NFS_USE_NEW_IDMAPPER is not set
14811481
CONFIG_NFSD=m
1482-
CONFIG_NFSD_DEPRECATED=y
14831482
CONFIG_NFSD_V2_ACL=y
14841483
CONFIG_NFSD_V3=y
14851484
CONFIG_NFSD_V3_ACL=y

fs/Makefile

-1
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,6 @@ obj-$(CONFIG_EVENTFD) += eventfd.o
2929
obj-$(CONFIG_AIO) += aio.o
3030
obj-$(CONFIG_FILE_LOCKING) += locks.o
3131
obj-$(CONFIG_COMPAT) += compat.o compat_ioctl.o
32-
obj-$(CONFIG_NFSD_DEPRECATED) += nfsctl.o
3332
obj-$(CONFIG_BINFMT_AOUT) += binfmt_aout.o
3433
obj-$(CONFIG_BINFMT_EM86) += binfmt_em86.o
3534
obj-$(CONFIG_BINFMT_MISC) += binfmt_misc.o

0 commit comments

Comments
 (0)