diff options
author | Trond Myklebust <trond.myklebust@primarydata.com> | 2015-06-16 11:36:47 -0400 |
---|---|---|
committer | Trond Myklebust <trond.myklebust@primarydata.com> | 2015-06-16 11:37:50 -0400 |
commit | 3438995bc43939ed1502bb2639ff7007169574ea (patch) | |
tree | 079a2732cc9eacb98200914c1278aee264b89ba9 /fs/fhandle.c | |
parent | 5ba12443a132420be45d089e4c4ac8a1e26b7da8 (diff) | |
parent | 40c6ed0c8a7f2c5d67f5d6774bbce230a42176db (diff) | |
download | linux-stable-3438995bc43939ed1502bb2639ff7007169574ea.tar.gz linux-stable-3438995bc43939ed1502bb2639ff7007169574ea.tar.bz2 linux-stable-3438995bc43939ed1502bb2639ff7007169574ea.zip |
Merge tag 'nfs-rdma-for-4.2' of git://git.linux-nfs.org/projects/anna/nfs-rdma
NFS: NFSoRDMA Client Changes
These patches continue to build up for improving the rsize and wsize that the
NFS client uses when talking over RDMA. In addition, these patches also add
in scalability enhancements and other bugfixes.
Signed-off-by: Anna Schumaker <Anna.Schumaker@Netapp.com>
* tag 'nfs-rdma-for-4.2' of git://git.linux-nfs.org/projects/anna/nfs-rdma: (142 commits)
xprtrdma: Reduce per-transport MR allocation
xprtrdma: Stack relief in fmr_op_map()
xprtrdma: Split rb_lock
xprtrdma: Remove rpcrdma_ia::ri_memreg_strategy
xprtrdma: Remove ->ro_reset
xprtrdma: Remove unused LOCAL_INV recovery logic
xprtrdma: Acquire MRs in rpcrdma_register_external()
xprtrdma: Introduce an FRMR recovery workqueue
xprtrdma: Acquire FMRs in rpcrdma_fmr_register_external()
xprtrdma: Introduce helpers for allocating MWs
xprtrdma: Use ib_device pointer safely
xprtrdma: Remove rr_func
xprtrdma: Replace rpcrdma_rep::rr_buffer with rr_rxprt
xprtrdma: Warn when there are orphaned IB objects
...
Diffstat (limited to 'fs/fhandle.c')
-rw-r--r-- | fs/fhandle.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/fs/fhandle.c b/fs/fhandle.c index 999ff5c3cab0..d59712dfa3e7 100644 --- a/fs/fhandle.c +++ b/fs/fhandle.c @@ -195,8 +195,9 @@ static int handle_to_path(int mountdirfd, struct file_handle __user *ufh, goto out_err; } /* copy the full handle */ - if (copy_from_user(handle, ufh, - sizeof(struct file_handle) + + *handle = f_handle; + if (copy_from_user(&handle->f_handle, + &ufh->f_handle, f_handle.handle_bytes)) { retval = -EFAULT; goto out_handle; |