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
This commit is contained in:
Linus Torvalds 2009-01-27 16:07:44 -08:00
commit 843c04a0f6
4 changed files with 7 additions and 6 deletions

View file

@ -251,7 +251,7 @@ NFS/RDMA Setup
Instruct the server to listen on the RDMA transport:
$ echo rdma 2050 > /proc/fs/nfsd/portlist
$ echo rdma 20049 > /proc/fs/nfsd/portlist
- On the client system
@ -263,7 +263,7 @@ NFS/RDMA Setup
Regardless of how the client was built (module or built-in), use this
command to mount the NFS/RDMA server:
$ mount -o rdma,port=2050 <IPoIB-server-name-or-address>:/<export> /mnt
$ mount -o rdma,port=20049 <IPoIB-server-name-or-address>:/<export> /mnt
To verify that the mount is using RDMA, run "cat /proc/mounts" and check
the "proto" field for the given mount.

View file

@ -49,6 +49,8 @@ int nfsd_setuser(struct svc_rqst *rqstp, struct svc_export *exp)
new->fsuid = exp->ex_anon_uid;
new->fsgid = exp->ex_anon_gid;
gi = groups_alloc(0);
if (!gi)
goto oom;
} else if (flags & NFSEXP_ROOTSQUASH) {
if (!new->fsuid)
new->fsuid = exp->ex_anon_uid;
@ -85,6 +87,7 @@ int nfsd_setuser(struct svc_rqst *rqstp, struct svc_export *exp)
new->cap_effective = cap_raise_nfsd_set(new->cap_effective,
new->cap_permitted);
put_cred(override_creds(new));
put_cred(new);
return 0;
oom:

View file

@ -2871,7 +2871,6 @@ nfsd4_lockt(struct svc_rqst *rqstp, struct nfsd4_compound_state *cstate,
file_lock.fl_owner = (fl_owner_t)lockt->lt_stateowner;
file_lock.fl_pid = current->tgid;
file_lock.fl_flags = FL_POSIX;
file_lock.fl_lmops = &nfsd_posix_mng_ops;
file_lock.fl_start = lockt->lt_offset;
file_lock.fl_end = last_byte_offset(lockt->lt_offset, lockt->lt_length);

View file

@ -9,9 +9,8 @@ config SUNRPC_XPRT_RDMA
depends on SUNRPC && INFINIBAND && EXPERIMENTAL
default SUNRPC && INFINIBAND
help
This option enables an RPC client transport capability that
allows the NFS client to mount servers via an RDMA-enabled
transport.
This option allows the NFS client and server to support
an RDMA-enabled transport.
To compile RPC client RDMA transport support as a module,
choose M here: the module will be called xprtrdma.