summaryrefslogtreecommitdiffstats
path: root/sys/fs/nfsclient/nfs_clvfsops.c
diff options
context:
space:
mode:
authorrmacklem <rmacklem@FreeBSD.org>2011-04-16 23:20:21 +0000
committerrmacklem <rmacklem@FreeBSD.org>2011-04-16 23:20:21 +0000
commitd77942ccd46b9d83e6034e871a4c714b3ab64614 (patch)
treed5f08b6ed7d6fa556fc0a0c4ed348c7cfeeac9ca /sys/fs/nfsclient/nfs_clvfsops.c
parent8ae8da4156ef9141be0d9415a04c13dff5ce464f (diff)
downloadFreeBSD-src-d77942ccd46b9d83e6034e871a4c714b3ab64614.zip
FreeBSD-src-d77942ccd46b9d83e6034e871a4c714b3ab64614.tar.gz
Add a lktype flags argument to nfscl_nget() and ncl_nget() in the
experimental NFS client so that its nfs_lookup() function can use cn_lkflags in a manner analagous to the regular NFS client. MFC after: 2 weeks
Diffstat (limited to 'sys/fs/nfsclient/nfs_clvfsops.c')
-rw-r--r--sys/fs/nfsclient/nfs_clvfsops.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/sys/fs/nfsclient/nfs_clvfsops.c b/sys/fs/nfsclient/nfs_clvfsops.c
index d819527..f9c5d9e 100644
--- a/sys/fs/nfsclient/nfs_clvfsops.c
+++ b/sys/fs/nfsclient/nfs_clvfsops.c
@@ -273,7 +273,7 @@ nfs_statfs(struct mount *mp, struct statfs *sbp)
error = vfs_busy(mp, MBF_NOWAIT);
if (error)
return (error);
- error = ncl_nget(mp, nmp->nm_fh, nmp->nm_fhsize, &np);
+ error = ncl_nget(mp, nmp->nm_fh, nmp->nm_fhsize, &np, LK_EXCLUSIVE);
if (error) {
vfs_unbusy(mp);
return (error);
@@ -1221,7 +1221,8 @@ mountnfs(struct nfs_args *argp, struct mount *mp, struct sockaddr *nam,
* by nfs_statfs() before any I/O occurs.
*/
mp->mnt_stat.f_iosize = NFS_DIRBLKSIZ;
- error = ncl_nget(mp, nmp->nm_fh, nmp->nm_fhsize, &np);
+ error = ncl_nget(mp, nmp->nm_fh, nmp->nm_fhsize, &np,
+ LK_EXCLUSIVE);
if (error)
goto bad;
*vpp = NFSTOV(np);
@@ -1336,7 +1337,7 @@ nfs_root(struct mount *mp, int flags, struct vnode **vpp)
int error;
nmp = VFSTONFS(mp);
- error = ncl_nget(mp, nmp->nm_fh, nmp->nm_fhsize, &np);
+ error = ncl_nget(mp, nmp->nm_fh, nmp->nm_fhsize, &np, flags);
if (error)
return error;
vp = NFSTOV(np);
OpenPOWER on IntegriCloud