Commit cae823c4 authored by Frank Filz's avatar Frank Filz Committed by Trond Myklebust

NFS: Remove use of the Big Kernel Lock around calls to rpc_call_sync

Remove use of the Big Kernel Lock around calls to rpc_call_sync.
Signed-off-by: default avatarFrank Filz <ffilz@us.ibm.com>
Signed-off-by: default avatarTrond Myklebust <Trond.Myklebust@netapp.com>
parent a99b71c9
...@@ -690,8 +690,6 @@ nfs3_proc_readdir(struct dentry *dentry, struct rpc_cred *cred, ...@@ -690,8 +690,6 @@ nfs3_proc_readdir(struct dentry *dentry, struct rpc_cred *cred,
}; };
int status; int status;
lock_kernel();
if (plus) if (plus)
msg.rpc_proc = &nfs3_procedures[NFS3PROC_READDIRPLUS]; msg.rpc_proc = &nfs3_procedures[NFS3PROC_READDIRPLUS];
...@@ -702,7 +700,6 @@ nfs3_proc_readdir(struct dentry *dentry, struct rpc_cred *cred, ...@@ -702,7 +700,6 @@ nfs3_proc_readdir(struct dentry *dentry, struct rpc_cred *cred,
status = rpc_call_sync(NFS_CLIENT(dir), &msg, 0); status = rpc_call_sync(NFS_CLIENT(dir), &msg, 0);
nfs_refresh_inode(dir, &dir_attr); nfs_refresh_inode(dir, &dir_attr);
dprintk("NFS reply readdir: %d\n", status); dprintk("NFS reply readdir: %d\n", status);
unlock_kernel();
return status; return status;
} }
......
...@@ -2223,13 +2223,11 @@ static int _nfs4_proc_readdir(struct dentry *dentry, struct rpc_cred *cred, ...@@ -2223,13 +2223,11 @@ static int _nfs4_proc_readdir(struct dentry *dentry, struct rpc_cred *cred,
dentry->d_parent->d_name.name, dentry->d_parent->d_name.name,
dentry->d_name.name, dentry->d_name.name,
(unsigned long long)cookie); (unsigned long long)cookie);
lock_kernel();
nfs4_setup_readdir(cookie, NFS_COOKIEVERF(dir), dentry, &args); nfs4_setup_readdir(cookie, NFS_COOKIEVERF(dir), dentry, &args);
res.pgbase = args.pgbase; res.pgbase = args.pgbase;
status = rpc_call_sync(NFS_CLIENT(dir), &msg, 0); status = rpc_call_sync(NFS_CLIENT(dir), &msg, 0);
if (status == 0) if (status == 0)
memcpy(NFS_COOKIEVERF(dir), res.verifier.data, NFS4_VERIFIER_SIZE); memcpy(NFS_COOKIEVERF(dir), res.verifier.data, NFS4_VERIFIER_SIZE);
unlock_kernel();
dprintk("%s: returns %d\n", __FUNCTION__, status); dprintk("%s: returns %d\n", __FUNCTION__, status);
return status; return status;
} }
......
...@@ -545,13 +545,10 @@ nfs_proc_readdir(struct dentry *dentry, struct rpc_cred *cred, ...@@ -545,13 +545,10 @@ nfs_proc_readdir(struct dentry *dentry, struct rpc_cred *cred,
}; };
int status; int status;
lock_kernel();
dprintk("NFS call readdir %d\n", (unsigned int)cookie); dprintk("NFS call readdir %d\n", (unsigned int)cookie);
status = rpc_call_sync(NFS_CLIENT(dir), &msg, 0); status = rpc_call_sync(NFS_CLIENT(dir), &msg, 0);
dprintk("NFS reply readdir: %d\n", status); dprintk("NFS reply readdir: %d\n", status);
unlock_kernel();
return status; return status;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment