Merge branch 'master' into devel and apply fixup from Stephen Rothwell:
vfs/nfs: fixup for nfs_open_context change Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au> Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
This commit is contained in:
commit
5f00bcb38e
3918 changed files with 249717 additions and 113738 deletions
|
@ -626,7 +626,7 @@ rpcauth_refreshcred(struct rpc_task *task)
|
|||
if (err < 0)
|
||||
goto out;
|
||||
cred = task->tk_rqstp->rq_cred;
|
||||
};
|
||||
}
|
||||
dprintk("RPC: %5u refreshing %s cred %p\n",
|
||||
task->tk_pid, cred->cr_auth->au_ops->au_name, cred);
|
||||
|
||||
|
|
|
@ -1421,18 +1421,16 @@ gss_wrap_req(struct rpc_task *task,
|
|||
goto out;
|
||||
}
|
||||
switch (gss_cred->gc_service) {
|
||||
case RPC_GSS_SVC_NONE:
|
||||
gss_wrap_req_encode(encode, rqstp, p, obj);
|
||||
status = 0;
|
||||
break;
|
||||
case RPC_GSS_SVC_INTEGRITY:
|
||||
status = gss_wrap_req_integ(cred, ctx, encode,
|
||||
rqstp, p, obj);
|
||||
break;
|
||||
case RPC_GSS_SVC_PRIVACY:
|
||||
status = gss_wrap_req_priv(cred, ctx, encode,
|
||||
rqstp, p, obj);
|
||||
break;
|
||||
case RPC_GSS_SVC_NONE:
|
||||
gss_wrap_req_encode(encode, rqstp, p, obj);
|
||||
status = 0;
|
||||
break;
|
||||
case RPC_GSS_SVC_INTEGRITY:
|
||||
status = gss_wrap_req_integ(cred, ctx, encode, rqstp, p, obj);
|
||||
break;
|
||||
case RPC_GSS_SVC_PRIVACY:
|
||||
status = gss_wrap_req_priv(cred, ctx, encode, rqstp, p, obj);
|
||||
break;
|
||||
}
|
||||
out:
|
||||
gss_put_ctx(ctx);
|
||||
|
@ -1531,18 +1529,18 @@ gss_unwrap_resp(struct rpc_task *task,
|
|||
if (ctx->gc_proc != RPC_GSS_PROC_DATA)
|
||||
goto out_decode;
|
||||
switch (gss_cred->gc_service) {
|
||||
case RPC_GSS_SVC_NONE:
|
||||
break;
|
||||
case RPC_GSS_SVC_INTEGRITY:
|
||||
status = gss_unwrap_resp_integ(cred, ctx, rqstp, &p);
|
||||
if (status)
|
||||
goto out;
|
||||
break;
|
||||
case RPC_GSS_SVC_PRIVACY:
|
||||
status = gss_unwrap_resp_priv(cred, ctx, rqstp, &p);
|
||||
if (status)
|
||||
goto out;
|
||||
break;
|
||||
case RPC_GSS_SVC_NONE:
|
||||
break;
|
||||
case RPC_GSS_SVC_INTEGRITY:
|
||||
status = gss_unwrap_resp_integ(cred, ctx, rqstp, &p);
|
||||
if (status)
|
||||
goto out;
|
||||
break;
|
||||
case RPC_GSS_SVC_PRIVACY:
|
||||
status = gss_unwrap_resp_priv(cred, ctx, rqstp, &p);
|
||||
if (status)
|
||||
goto out;
|
||||
break;
|
||||
}
|
||||
/* take into account extra slack for integrity and privacy cases: */
|
||||
cred->cr_auth->au_rslack = cred->cr_auth->au_verfsize + (p - savedp)
|
||||
|
|
|
@ -97,8 +97,7 @@ static int
|
|||
rpc_setup_pipedir(struct rpc_clnt *clnt, char *dir_name)
|
||||
{
|
||||
static uint32_t clntid;
|
||||
struct nameidata nd;
|
||||
struct path path;
|
||||
struct path path, dir;
|
||||
char name[15];
|
||||
struct qstr q = {
|
||||
.name = name,
|
||||
|
@ -113,7 +112,7 @@ rpc_setup_pipedir(struct rpc_clnt *clnt, char *dir_name)
|
|||
path.mnt = rpc_get_mount();
|
||||
if (IS_ERR(path.mnt))
|
||||
return PTR_ERR(path.mnt);
|
||||
error = vfs_path_lookup(path.mnt->mnt_root, path.mnt, dir_name, 0, &nd);
|
||||
error = vfs_path_lookup(path.mnt->mnt_root, path.mnt, dir_name, 0, &dir);
|
||||
if (error)
|
||||
goto err;
|
||||
|
||||
|
@ -121,7 +120,7 @@ rpc_setup_pipedir(struct rpc_clnt *clnt, char *dir_name)
|
|||
q.len = snprintf(name, sizeof(name), "clnt%x", (unsigned int)clntid++);
|
||||
name[sizeof(name) - 1] = '\0';
|
||||
q.hash = full_name_hash(q.name, q.len);
|
||||
path.dentry = rpc_create_client_dir(nd.path.dentry, &q, clnt);
|
||||
path.dentry = rpc_create_client_dir(dir.dentry, &q, clnt);
|
||||
if (!IS_ERR(path.dentry))
|
||||
break;
|
||||
error = PTR_ERR(path.dentry);
|
||||
|
@ -132,11 +131,11 @@ rpc_setup_pipedir(struct rpc_clnt *clnt, char *dir_name)
|
|||
goto err_path_put;
|
||||
}
|
||||
}
|
||||
path_put(&nd.path);
|
||||
path_put(&dir);
|
||||
clnt->cl_path = path;
|
||||
return 0;
|
||||
err_path_put:
|
||||
path_put(&nd.path);
|
||||
path_put(&dir);
|
||||
err:
|
||||
rpc_put_mount();
|
||||
return error;
|
||||
|
@ -1665,19 +1664,18 @@ rpc_verify_header(struct rpc_task *task)
|
|||
if (--len < 0)
|
||||
goto out_overflow;
|
||||
switch ((n = ntohl(*p++))) {
|
||||
case RPC_AUTH_ERROR:
|
||||
break;
|
||||
case RPC_MISMATCH:
|
||||
dprintk("RPC: %5u %s: RPC call version "
|
||||
"mismatch!\n",
|
||||
task->tk_pid, __func__);
|
||||
error = -EPROTONOSUPPORT;
|
||||
goto out_err;
|
||||
default:
|
||||
dprintk("RPC: %5u %s: RPC call rejected, "
|
||||
"unknown error: %x\n",
|
||||
task->tk_pid, __func__, n);
|
||||
goto out_eio;
|
||||
case RPC_AUTH_ERROR:
|
||||
break;
|
||||
case RPC_MISMATCH:
|
||||
dprintk("RPC: %5u %s: RPC call version mismatch!\n",
|
||||
task->tk_pid, __func__);
|
||||
error = -EPROTONOSUPPORT;
|
||||
goto out_err;
|
||||
default:
|
||||
dprintk("RPC: %5u %s: RPC call rejected, "
|
||||
"unknown error: %x\n",
|
||||
task->tk_pid, __func__, n);
|
||||
goto out_eio;
|
||||
}
|
||||
if (--len < 0)
|
||||
goto out_overflow;
|
||||
|
|
|
@ -456,13 +456,13 @@ rpc_get_inode(struct super_block *sb, umode_t mode)
|
|||
inode->i_ino = get_next_ino();
|
||||
inode->i_mode = mode;
|
||||
inode->i_atime = inode->i_mtime = inode->i_ctime = CURRENT_TIME;
|
||||
switch(mode & S_IFMT) {
|
||||
case S_IFDIR:
|
||||
inode->i_fop = &simple_dir_operations;
|
||||
inode->i_op = &simple_dir_inode_operations;
|
||||
inc_nlink(inode);
|
||||
default:
|
||||
break;
|
||||
switch (mode & S_IFMT) {
|
||||
case S_IFDIR:
|
||||
inode->i_fop = &simple_dir_operations;
|
||||
inode->i_op = &simple_dir_inode_operations;
|
||||
inc_nlink(inode);
|
||||
default:
|
||||
break;
|
||||
}
|
||||
return inode;
|
||||
}
|
||||
|
|
|
@ -42,6 +42,7 @@
|
|||
#include <linux/sunrpc/svc_xprt.h>
|
||||
#include <linux/sunrpc/debug.h>
|
||||
#include <linux/sunrpc/rpc_rdma.h>
|
||||
#include <linux/interrupt.h>
|
||||
#include <linux/sched.h>
|
||||
#include <linux/slab.h>
|
||||
#include <linux/spinlock.h>
|
||||
|
|
|
@ -47,6 +47,7 @@
|
|||
* o buffer memory
|
||||
*/
|
||||
|
||||
#include <linux/interrupt.h>
|
||||
#include <linux/pci.h> /* for Tavor hack below */
|
||||
#include <linux/slab.h>
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue