mirror of
https://github.com/Fishwaldo/Star64_linux.git
synced 2025-06-06 06:37:59 +00:00
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>
This commit is contained in:
parent
a99b71c9c4
commit
cae823c4c0
3 changed files with 0 additions and 8 deletions
|
@ -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,
|
||||||
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,
|
||||||
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,
|
||||||
};
|
};
|
||||||
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;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue