aboutsummaryrefslogtreecommitdiffstats
path: root/fs/nfs
diff options
context:
space:
mode:
authorFrank Filz <ffilzlnx@us.ibm.com>2006-10-17 13:24:38 -0400
committerTrond Myklebust <Trond.Myklebust@netapp.com>2006-12-06 10:46:31 -0500
commitcae823c4c089d2c7c2a90f39f20376ccd85f9893 (patch)
tree9bf9f70d3ddefe049818fd4cc1a604c749bb85b2 /fs/nfs
parenta99b71c9c43499bf2312c64f5c1d367aaf559dc4 (diff)
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: Frank Filz <ffilz@us.ibm.com> Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
Diffstat (limited to 'fs/nfs')
-rw-r--r--fs/nfs/nfs3proc.c3
-rw-r--r--fs/nfs/nfs4proc.c2
-rw-r--r--fs/nfs/proc.c3
3 files changed, 0 insertions, 8 deletions
diff --git a/fs/nfs/nfs3proc.c b/fs/nfs/nfs3proc.c
index 9d7ff4f83faf..7fba06306b82 100644
--- a/fs/nfs/nfs3proc.c
+++ b/fs/nfs/nfs3proc.c
@@ -690,8 +690,6 @@ nfs3_proc_readdir(struct dentry *dentry, struct rpc_cred *cred,
690 }; 690 };
691 int status; 691 int status;
692 692
693 lock_kernel();
694
695 if (plus) 693 if (plus)
696 msg.rpc_proc = &nfs3_procedures[NFS3PROC_READDIRPLUS]; 694 msg.rpc_proc = &nfs3_procedures[NFS3PROC_READDIRPLUS];
697 695
@@ -702,7 +700,6 @@ nfs3_proc_readdir(struct dentry *dentry, struct rpc_cred *cred,
702 status = rpc_call_sync(NFS_CLIENT(dir), &msg, 0); 700 status = rpc_call_sync(NFS_CLIENT(dir), &msg, 0);
703 nfs_refresh_inode(dir, &dir_attr); 701 nfs_refresh_inode(dir, &dir_attr);
704 dprintk("NFS reply readdir: %d\n", status); 702 dprintk("NFS reply readdir: %d\n", status);
705 unlock_kernel();
706 return status; 703 return status;
707} 704}
708 705
diff --git a/fs/nfs/nfs4proc.c b/fs/nfs/nfs4proc.c
index 93ac05889cbc..4b5fc714d786 100644
--- a/fs/nfs/nfs4proc.c
+++ b/fs/nfs/nfs4proc.c
@@ -2223,13 +2223,11 @@ static int _nfs4_proc_readdir(struct dentry *dentry, struct rpc_cred *cred,
2223 dentry->d_parent->d_name.name, 2223 dentry->d_parent->d_name.name,
2224 dentry->d_name.name, 2224 dentry->d_name.name,
2225 (unsigned long long)cookie); 2225 (unsigned long long)cookie);
2226 lock_kernel();
2227 nfs4_setup_readdir(cookie, NFS_COOKIEVERF(dir), dentry, &args); 2226 nfs4_setup_readdir(cookie, NFS_COOKIEVERF(dir), dentry, &args);
2228 res.pgbase = args.pgbase; 2227 res.pgbase = args.pgbase;
2229 status = rpc_call_sync(NFS_CLIENT(dir), &msg, 0); 2228 status = rpc_call_sync(NFS_CLIENT(dir), &msg, 0);
2230 if (status == 0) 2229 if (status == 0)
2231 memcpy(NFS_COOKIEVERF(dir), res.verifier.data, NFS4_VERIFIER_SIZE); 2230 memcpy(NFS_COOKIEVERF(dir), res.verifier.data, NFS4_VERIFIER_SIZE);
2232 unlock_kernel();
2233 dprintk("%s: returns %d\n", __FUNCTION__, status); 2231 dprintk("%s: returns %d\n", __FUNCTION__, status);
2234 return status; 2232 return status;
2235} 2233}
diff --git a/fs/nfs/proc.c b/fs/nfs/proc.c
index 4529cc4f3f8f..7a9013dd5d0a 100644
--- a/fs/nfs/proc.c
+++ b/fs/nfs/proc.c
@@ -545,13 +545,10 @@ nfs_proc_readdir(struct dentry *dentry, struct rpc_cred *cred,
545 }; 545 };
546 int status; 546 int status;
547 547
548 lock_kernel();
549
550 dprintk("NFS call readdir %d\n", (unsigned int)cookie); 548 dprintk("NFS call readdir %d\n", (unsigned int)cookie);
551 status = rpc_call_sync(NFS_CLIENT(dir), &msg, 0); 549 status = rpc_call_sync(NFS_CLIENT(dir), &msg, 0);
552 550
553 dprintk("NFS reply readdir: %d\n", status); 551 dprintk("NFS reply readdir: %d\n", status);
554 unlock_kernel();
555 return status; 552 return status;
556} 553}
557 554