summaryrefslogtreecommitdiffstats
path: root/sys/nfsclient/nfs.h
diff options
context:
space:
mode:
authoralfred <alfred@FreeBSD.org>2003-11-22 02:21:49 +0000
committeralfred <alfred@FreeBSD.org>2003-11-22 02:21:49 +0000
commita5dc4dbeb8e0b6441dd96ff20dedbfab26711445 (patch)
treed25562b1277a5d3728ec70c624f0765ad7489560 /sys/nfsclient/nfs.h
parent01495655d6f56175f06ef7111769b7a049a266af (diff)
downloadFreeBSD-src-a5dc4dbeb8e0b6441dd96ff20dedbfab26711445.zip
FreeBSD-src-a5dc4dbeb8e0b6441dd96ff20dedbfab26711445.tar.gz
Use function pointers to remove the depenancy cross dependancy on nfs4
and the nfs3 client. Also fix some bugs that happen to be causing crashes in both v3 and v4 introduced by the v4 import. Submitted by: Jim Rees <rees@umich.edu> Approved by: re
Diffstat (limited to 'sys/nfsclient/nfs.h')
-rw-r--r--sys/nfsclient/nfs.h14
1 files changed, 14 insertions, 0 deletions
diff --git a/sys/nfsclient/nfs.h b/sys/nfsclient/nfs.h
index c96112a..e10a548 100644
--- a/sys/nfsclient/nfs.h
+++ b/sys/nfsclient/nfs.h
@@ -215,6 +215,20 @@ extern TAILQ_HEAD(nfs_reqq, nfsreq) nfs_reqq;
#define R_GETONEREP 0x80 /* Probe for one reply only */
/*
+ * Pointers to ops that differ from v3 to v4
+ */
+struct nfs_rpcops {
+ int (*nr_readrpc)(struct vnode *vp, struct uio *uiop, struct ucred *cred);
+ int (*nr_writerpc)(struct vnode *vp, struct uio *uiop, struct ucred *cred,
+ int *iomode, int *must_commit);
+ int (*nr_writebp)(struct buf *bp, int force, struct thread *td);
+ int (*nr_readlinkrpc)(struct vnode *vp, struct uio *uiop, struct ucred *cred);
+ void (*nr_invaldir)(struct vnode *vp);
+ int (*nr_commit)(struct vnode *vp, u_quad_t offset, int cnt,
+ struct ucred *cred, struct thread *td);
+};
+
+/*
* Defines for WebNFS
*/
OpenPOWER on IntegriCloud