From ff5630dff67f4c3a38f2d5f2cc72d3bc7d9c2f4e Mon Sep 17 00:00:00 2001 From: dfr Date: Sat, 10 May 1997 16:12:03 +0000 Subject: Fix a nasty hang connected with write gathering. Also add debug print statements to bits of the server which helped me find the hang. --- sys/nfsclient/nfs.h | 19 ++++++++++++++++++- sys/nfsclient/nfsargs.h | 19 ++++++++++++++++++- sys/nfsclient/nfsmount.h | 18 +----------------- sys/nfsclient/nfsstats.h | 19 ++++++++++++++++++- 4 files changed, 55 insertions(+), 20 deletions(-) (limited to 'sys/nfsclient') diff --git a/sys/nfsclient/nfs.h b/sys/nfsclient/nfs.h index 59033bf..a3c45bd 100644 --- a/sys/nfsclient/nfs.h +++ b/sys/nfsclient/nfs.h @@ -34,7 +34,7 @@ * SUCH DAMAGE. * * @(#)nfs.h 8.4 (Berkeley) 5/1/95 - * $Id: nfs.h,v 1.23 1997/03/27 20:01:03 guido Exp $ + * $Id: nfs.h,v 1.24 1997/03/29 12:34:33 bde Exp $ */ #ifndef _NFS_NFS_H_ @@ -517,6 +517,23 @@ extern int nfsd_head_flag; !bcmp((caddr_t)&(o)->nd_cr, (caddr_t)&(n)->nd_cr, \ sizeof (struct ucred))) +#ifdef NFS_DEBUG + +extern int nfs_debug; +#define NFS_DEBUG_ASYNCIO 1 /* asynchronous i/o */ +#define NFS_DEBUG_WG 2 /* server write gathering */ +#define NFS_DEBUG_RC 4 /* server request caching */ + +#define NFS_DPF(cat, args) \ + do { \ + if (nfs_debug & NFS_DEBUG_##cat) printf args; \ + } while (0) + +#else + +#define NFS_DPF(cat, args) + +#endif int nfs_init __P((struct vfsconf *vfsp)); int nfs_reply __P((struct nfsreq *)); diff --git a/sys/nfsclient/nfsargs.h b/sys/nfsclient/nfsargs.h index 59033bf..a3c45bd 100644 --- a/sys/nfsclient/nfsargs.h +++ b/sys/nfsclient/nfsargs.h @@ -34,7 +34,7 @@ * SUCH DAMAGE. * * @(#)nfs.h 8.4 (Berkeley) 5/1/95 - * $Id: nfs.h,v 1.23 1997/03/27 20:01:03 guido Exp $ + * $Id: nfs.h,v 1.24 1997/03/29 12:34:33 bde Exp $ */ #ifndef _NFS_NFS_H_ @@ -517,6 +517,23 @@ extern int nfsd_head_flag; !bcmp((caddr_t)&(o)->nd_cr, (caddr_t)&(n)->nd_cr, \ sizeof (struct ucred))) +#ifdef NFS_DEBUG + +extern int nfs_debug; +#define NFS_DEBUG_ASYNCIO 1 /* asynchronous i/o */ +#define NFS_DEBUG_WG 2 /* server write gathering */ +#define NFS_DEBUG_RC 4 /* server request caching */ + +#define NFS_DPF(cat, args) \ + do { \ + if (nfs_debug & NFS_DEBUG_##cat) printf args; \ + } while (0) + +#else + +#define NFS_DPF(cat, args) + +#endif int nfs_init __P((struct vfsconf *vfsp)); int nfs_reply __P((struct nfsreq *)); diff --git a/sys/nfsclient/nfsmount.h b/sys/nfsclient/nfsmount.h index 67121c3..d119a20 100644 --- a/sys/nfsclient/nfsmount.h +++ b/sys/nfsclient/nfsmount.h @@ -34,7 +34,7 @@ * SUCH DAMAGE. * * @(#)nfsmount.h 8.3 (Berkeley) 3/30/95 - * $Id$ + * $Id: nfsmount.h,v 1.11 1997/02/22 09:42:48 peter Exp $ */ @@ -95,22 +95,6 @@ struct nfsmount { */ #define VFSTONFS(mp) ((struct nfsmount *)((mp)->mnt_data)) -#ifdef NFS_DEBUG - -extern int nfs_debug; -#define NFS_DEBUG_ASYNCIO 1 - -#define NFS_DPF(cat, args) \ - do { \ - if (nfs_debug & NFS_DEBUG_##cat) printf args; \ - } while (0) - -#else - -#define NFS_DPF(cat, args) - -#endif - #endif /* KERNEL */ #endif diff --git a/sys/nfsclient/nfsstats.h b/sys/nfsclient/nfsstats.h index 59033bf..a3c45bd 100644 --- a/sys/nfsclient/nfsstats.h +++ b/sys/nfsclient/nfsstats.h @@ -34,7 +34,7 @@ * SUCH DAMAGE. * * @(#)nfs.h 8.4 (Berkeley) 5/1/95 - * $Id: nfs.h,v 1.23 1997/03/27 20:01:03 guido Exp $ + * $Id: nfs.h,v 1.24 1997/03/29 12:34:33 bde Exp $ */ #ifndef _NFS_NFS_H_ @@ -517,6 +517,23 @@ extern int nfsd_head_flag; !bcmp((caddr_t)&(o)->nd_cr, (caddr_t)&(n)->nd_cr, \ sizeof (struct ucred))) +#ifdef NFS_DEBUG + +extern int nfs_debug; +#define NFS_DEBUG_ASYNCIO 1 /* asynchronous i/o */ +#define NFS_DEBUG_WG 2 /* server write gathering */ +#define NFS_DEBUG_RC 4 /* server request caching */ + +#define NFS_DPF(cat, args) \ + do { \ + if (nfs_debug & NFS_DEBUG_##cat) printf args; \ + } while (0) + +#else + +#define NFS_DPF(cat, args) + +#endif int nfs_init __P((struct vfsconf *vfsp)); int nfs_reply __P((struct nfsreq *)); -- cgit v1.1