diff options
author | rmacklem <rmacklem@FreeBSD.org> | 2011-04-16 23:20:21 +0000 |
---|---|---|
committer | rmacklem <rmacklem@FreeBSD.org> | 2011-04-16 23:20:21 +0000 |
commit | d77942ccd46b9d83e6034e871a4c714b3ab64614 (patch) | |
tree | d5f08b6ed7d6fa556fc0a0c4ed348c7cfeeac9ca /sys/fs/nfsclient/nfs_clvfsops.c | |
parent | 8ae8da4156ef9141be0d9415a04c13dff5ce464f (diff) | |
download | FreeBSD-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.c | 7 |
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); |