summaryrefslogtreecommitdiffstats
path: root/sys/nfsclient/nfs_node.c
diff options
context:
space:
mode:
authorphk <phk@FreeBSD.org>2004-10-24 20:03:41 +0000
committerphk <phk@FreeBSD.org>2004-10-24 20:03:41 +0000
commit1b25a5988640ac862e8e964c30aaccfd83e128cf (patch)
tree220ef3feb4e3c7063a6550b7466cbd964e346c84 /sys/nfsclient/nfs_node.c
parent27296db6a7b0487c98e7e27a7765cf3d19bdf963 (diff)
downloadFreeBSD-src-1b25a5988640ac862e8e964c30aaccfd83e128cf.zip
FreeBSD-src-1b25a5988640ac862e8e964c30aaccfd83e128cf.tar.gz
Move the buffer method vector (buf->b_op) to the bufobj.
Extend it with a strategy method. Add bufstrategy() which do the usual VOP_SPECSTRATEGY/VOP_STRATEGY song and dance. Rename ibwrite to bufwrite(). Move the two NFS buf_ops to more sensible places, add bufstrategy to them. Add inlines for bwrite() and bstrategy() which calls through buf->b_bufobj->b_ops->b_{write,strategy}(). Replace almost all VOP_STRATEGY()/VOP_SPECSTRATEGY() calls with bstrategy().
Diffstat (limited to 'sys/nfsclient/nfs_node.c')
-rw-r--r--sys/nfsclient/nfs_node.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/sys/nfsclient/nfs_node.c b/sys/nfsclient/nfs_node.c
index e6b2d94..cc4a68c 100644
--- a/sys/nfsclient/nfs_node.c
+++ b/sys/nfsclient/nfs_node.c
@@ -247,6 +247,10 @@ loop:
return (error);
}
vp = nvp;
+ if (nmp->nm_flag & NFSMNT_NFSV4)
+ vp->v_bufobj.bo_ops = &buf_ops_nfs4;
+ else
+ vp->v_bufobj.bo_ops = &buf_ops_nfs;
bzero((caddr_t)np, sizeof *np);
vp->v_data = np;
np->n_vnode = vp;
OpenPOWER on IntegriCloud