summaryrefslogtreecommitdiffstats
path: root/sys/nfsserver/nfs.h
diff options
context:
space:
mode:
authortruckman <truckman@FreeBSD.org>2003-05-25 06:17:33 +0000
committertruckman <truckman@FreeBSD.org>2003-05-25 06:17:33 +0000
commit9cf579ad75909eb2f46ad9788bc4fc0e9e351206 (patch)
tree96ec0ac9ef86e544b76d7a438b61445ad1031d07 /sys/nfsserver/nfs.h
parent52630e2ed7ef26be3e92783583a39f716c3c1149 (diff)
downloadFreeBSD-src-9cf579ad75909eb2f46ad9788bc4fc0e9e351206.zip
FreeBSD-src-9cf579ad75909eb2f46ad9788bc4fc0e9e351206.tar.gz
Beat vnode locking in the NFS server code into submission. This change
is not pretty, but it fixes the code so that it no longer violates the vnode locking rules in the VFS API and doesn't trip any of the locking assertions enabled by the DEBUG_VFS_LOCKS kernel configuration option. There is one report that this patch fixed a "locking against myself" panic on an NFS server that was tripped by a diskless client. Approved by: re (scottl)
Diffstat (limited to 'sys/nfsserver/nfs.h')
-rw-r--r--sys/nfsserver/nfs.h3
1 files changed, 2 insertions, 1 deletions
diff --git a/sys/nfsserver/nfs.h b/sys/nfsserver/nfs.h
index 1bbc1f4..07c74bf 100644
--- a/sys/nfsserver/nfs.h
+++ b/sys/nfsserver/nfs.h
@@ -332,7 +332,8 @@ void nfsm_srvpostopattr(struct nfsrv_descript *, int, struct vattr *,
int netaddr_match(int, union nethostaddr *, struct sockaddr *);
int nfs_namei(struct nameidata *, fhandle_t *, int,
struct nfssvc_sock *, struct sockaddr *, struct mbuf **,
- caddr_t *, struct vnode **, struct thread *, int);
+ caddr_t *, struct vnode **, int, struct vattr *, int *,
+ struct thread *, int);
void nfsm_adj(struct mbuf *, int, int);
int nfsm_mbuftouio(struct mbuf **, struct uio *, int, caddr_t *);
void nfsrv_initcache(void);
OpenPOWER on IntegriCloud