summaryrefslogtreecommitdiffstats
path: root/sys/nfsclient/nfs_node.c
diff options
context:
space:
mode:
authoralfred <alfred@FreeBSD.org>2003-11-14 20:54:10 +0000
committeralfred <alfred@FreeBSD.org>2003-11-14 20:54:10 +0000
commit5b076fe9da6e7bfd69aca6e09e64d75d72477b92 (patch)
tree551663ad558af360faf7b32b0b3e67a667de012c /sys/nfsclient/nfs_node.c
parentaf7f62665d5a48d63d7f4c984c6511297dbb645c (diff)
downloadFreeBSD-src-5b076fe9da6e7bfd69aca6e09e64d75d72477b92.zip
FreeBSD-src-5b076fe9da6e7bfd69aca6e09e64d75d72477b92.tar.gz
University of Michigan's Citi NFSv4 kernel client code.
Submitted by: Jim Rees <rees@umich.edu>
Diffstat (limited to 'sys/nfsclient/nfs_node.c')
-rw-r--r--sys/nfsclient/nfs_node.c11
1 files changed, 8 insertions, 3 deletions
diff --git a/sys/nfsclient/nfs_node.c b/sys/nfsclient/nfs_node.c
index fc3520f..3dd3d03 100644
--- a/sys/nfsclient/nfs_node.c
+++ b/sys/nfsclient/nfs_node.c
@@ -53,6 +53,8 @@ __FBSDID("$FreeBSD$");
#include <vm/uma.h>
+#include <rpc/rpcclnt.h>
+
#include <nfs/rpcv2.h>
#include <nfs/nfsproto.h>
#include <nfsclient/nfs.h>
@@ -182,7 +184,7 @@ nfs_nget(struct mount *mntp, nfsfh_t *fhp, int fhsize, struct nfsnode **npp)
/*
* Calculate nfs mount point and figure out whether the rslock should
- * be interruptable or not.
+ * be interruptible or not.
*/
nmp = VFSTONFS(mntp);
if (nmp->nm_flag & NFSMNT_INT)
@@ -226,7 +228,10 @@ loop:
*/
np = uma_zalloc(nfsnode_zone, M_WAITOK);
- error = getnewvnode("nfs", mntp, nfs_vnodeop_p, &nvp);
+ if (nmp->nm_flag & NFSMNT_NFSV4)
+ error = getnewvnode("nfs4", mntp, nfs4_vnodeop_p, &nvp);
+ else
+ error = getnewvnode("nfs", mntp, nfs_vnodeop_p, &nvp);
if (error) {
if (nfs_node_hash_lock < 0)
wakeup(&nfs_node_hash_lock);
@@ -295,7 +300,7 @@ nfs_inactive(struct vop_inactive_args *ap)
/*
* Remove the silly file that was rename'd earlier
*/
- nfs_removeit(sp);
+ (sp->s_removeit)(sp);
crfree(sp->s_cred);
vrele(sp->s_dvp);
FREE((caddr_t)sp, M_NFSREQ);
OpenPOWER on IntegriCloud