diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2009-01-27 19:07:44 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2009-01-27 19:07:44 -0500 |
commit | 843c04a0f63c74c6424e4b7d1ab85223b1ecf740 (patch) | |
tree | c7f6b771ccc47a249b3c607471b3fbd1ad7ab7d2 | |
parent | b00ecabf1d00f6c164aee62703df5dae7ac79894 (diff) | |
parent | fa82a491275a613b15489aab4b99acecb00958d3 (diff) |
Merge branch 'for-2.6.29' of git://linux-nfs.org/~bfields/linux
* 'for-2.6.29' of git://linux-nfs.org/~bfields/linux:
nfsd: only set file_lock.fl_lmops in nfsd4_lockt if a stateowner is found
nfsd: fix cred leak on every rpc
nfsd: fix null dereference on error path
nfs: note that CONFIG_SUNRPC_XPRT_RDMA turns on server side support too
update port number in NFS/RDMA documentation
-rw-r--r-- | Documentation/filesystems/nfs-rdma.txt | 4 | ||||
-rw-r--r-- | fs/nfsd/auth.c | 3 | ||||
-rw-r--r-- | fs/nfsd/nfs4state.c | 1 | ||||
-rw-r--r-- | net/sunrpc/Kconfig | 5 |
4 files changed, 7 insertions, 6 deletions
diff --git a/Documentation/filesystems/nfs-rdma.txt b/Documentation/filesystems/nfs-rdma.txt index 44bd766f2e5d..85eaeaddd27c 100644 --- a/Documentation/filesystems/nfs-rdma.txt +++ b/Documentation/filesystems/nfs-rdma.txt | |||
@@ -251,7 +251,7 @@ NFS/RDMA Setup | |||
251 | 251 | ||
252 | Instruct the server to listen on the RDMA transport: | 252 | Instruct the server to listen on the RDMA transport: |
253 | 253 | ||
254 | $ echo rdma 2050 > /proc/fs/nfsd/portlist | 254 | $ echo rdma 20049 > /proc/fs/nfsd/portlist |
255 | 255 | ||
256 | - On the client system | 256 | - On the client system |
257 | 257 | ||
@@ -263,7 +263,7 @@ NFS/RDMA Setup | |||
263 | Regardless of how the client was built (module or built-in), use this | 263 | Regardless of how the client was built (module or built-in), use this |
264 | command to mount the NFS/RDMA server: | 264 | command to mount the NFS/RDMA server: |
265 | 265 | ||
266 | $ mount -o rdma,port=2050 <IPoIB-server-name-or-address>:/<export> /mnt | 266 | $ mount -o rdma,port=20049 <IPoIB-server-name-or-address>:/<export> /mnt |
267 | 267 | ||
268 | To verify that the mount is using RDMA, run "cat /proc/mounts" and check | 268 | To verify that the mount is using RDMA, run "cat /proc/mounts" and check |
269 | the "proto" field for the given mount. | 269 | the "proto" field for the given mount. |
diff --git a/fs/nfsd/auth.c b/fs/nfsd/auth.c index c903e04aa217..5573508f707f 100644 --- a/fs/nfsd/auth.c +++ b/fs/nfsd/auth.c | |||
@@ -49,6 +49,8 @@ int nfsd_setuser(struct svc_rqst *rqstp, struct svc_export *exp) | |||
49 | new->fsuid = exp->ex_anon_uid; | 49 | new->fsuid = exp->ex_anon_uid; |
50 | new->fsgid = exp->ex_anon_gid; | 50 | new->fsgid = exp->ex_anon_gid; |
51 | gi = groups_alloc(0); | 51 | gi = groups_alloc(0); |
52 | if (!gi) | ||
53 | goto oom; | ||
52 | } else if (flags & NFSEXP_ROOTSQUASH) { | 54 | } else if (flags & NFSEXP_ROOTSQUASH) { |
53 | if (!new->fsuid) | 55 | if (!new->fsuid) |
54 | new->fsuid = exp->ex_anon_uid; | 56 | new->fsuid = exp->ex_anon_uid; |
@@ -85,6 +87,7 @@ int nfsd_setuser(struct svc_rqst *rqstp, struct svc_export *exp) | |||
85 | new->cap_effective = cap_raise_nfsd_set(new->cap_effective, | 87 | new->cap_effective = cap_raise_nfsd_set(new->cap_effective, |
86 | new->cap_permitted); | 88 | new->cap_permitted); |
87 | put_cred(override_creds(new)); | 89 | put_cred(override_creds(new)); |
90 | put_cred(new); | ||
88 | return 0; | 91 | return 0; |
89 | 92 | ||
90 | oom: | 93 | oom: |
diff --git a/fs/nfsd/nfs4state.c b/fs/nfsd/nfs4state.c index 88db7d3ec120..b6f60f48e94b 100644 --- a/fs/nfsd/nfs4state.c +++ b/fs/nfsd/nfs4state.c | |||
@@ -2871,7 +2871,6 @@ nfsd4_lockt(struct svc_rqst *rqstp, struct nfsd4_compound_state *cstate, | |||
2871 | file_lock.fl_owner = (fl_owner_t)lockt->lt_stateowner; | 2871 | file_lock.fl_owner = (fl_owner_t)lockt->lt_stateowner; |
2872 | file_lock.fl_pid = current->tgid; | 2872 | file_lock.fl_pid = current->tgid; |
2873 | file_lock.fl_flags = FL_POSIX; | 2873 | file_lock.fl_flags = FL_POSIX; |
2874 | file_lock.fl_lmops = &nfsd_posix_mng_ops; | ||
2875 | 2874 | ||
2876 | file_lock.fl_start = lockt->lt_offset; | 2875 | file_lock.fl_start = lockt->lt_offset; |
2877 | file_lock.fl_end = last_byte_offset(lockt->lt_offset, lockt->lt_length); | 2876 | file_lock.fl_end = last_byte_offset(lockt->lt_offset, lockt->lt_length); |
diff --git a/net/sunrpc/Kconfig b/net/sunrpc/Kconfig index eda4a7aee596..dcef600d0bf5 100644 --- a/net/sunrpc/Kconfig +++ b/net/sunrpc/Kconfig | |||
@@ -9,9 +9,8 @@ config SUNRPC_XPRT_RDMA | |||
9 | depends on SUNRPC && INFINIBAND && EXPERIMENTAL | 9 | depends on SUNRPC && INFINIBAND && EXPERIMENTAL |
10 | default SUNRPC && INFINIBAND | 10 | default SUNRPC && INFINIBAND |
11 | help | 11 | help |
12 | This option enables an RPC client transport capability that | 12 | This option allows the NFS client and server to support |
13 | allows the NFS client to mount servers via an RDMA-enabled | 13 | an RDMA-enabled transport. |
14 | transport. | ||
15 | 14 | ||
16 | To compile RPC client RDMA transport support as a module, | 15 | To compile RPC client RDMA transport support as a module, |
17 | choose M here: the module will be called xprtrdma. | 16 | choose M here: the module will be called xprtrdma. |