Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 2 Jun 1997 12:49:37 +0100 (BST)
From:      Doug Rabson <dfr@nlsystems.com>
To:        Bruce Evans <bde@zeta.org.au>
Cc:        current@freebsd.org
Subject:   Re: processes hanging in getblk for shutdown on nfs client
Message-ID:  <Pine.BSF.3.95q.970602124920.810B-100000@herring.nlsystems.com>
In-Reply-To: <199706020356.NAA08264@godzilla.zeta.org.au>

next in thread | previous in thread | raw e-mail | index | archive | help
On Mon, 2 Jun 1997, Bruce Evans wrote:

> On my nfs client system with /usr nfs-mounted, a plain reboot command
> now always leaves sendmail and/or xntpd hanging on getblk.  The sync
> then fails because of dirty blocks.  There was no problem until a
> week or two ago.  There is no problem with the same kernel and similar
> utilities on my nfs server system.

Can you try this patch and see if it helps:

Index: vfs_bio.c
===================================================================
RCS file: /home/ncvs/src/sys/kern/vfs_bio.c,v
retrieving revision 1.117
diff -u -r1.117 vfs_bio.c
--- vfs_bio.c	1997/05/30 22:25:35	1.117
+++ vfs_bio.c	1997/06/02 10:38:23
@@ -514,11 +514,11 @@
 	 * This can avoid unnecessary re-reads of the buffer.
 	 */
 	if ((bp->b_flags & B_VMIO)
-	    && (bp->b_vp->v_tag != VT_NFS
+	    /* && (bp->b_vp->v_tag != VT_NFS
 		|| (bp->b_flags & (B_NOCACHE | B_INVAL | B_ERROR))
 		|| bp->b_validend == 0
 		|| (bp->b_validoff == 0
-		    && bp->b_validend == bp->b_bufsize))) {
+		    && bp->b_validend == bp->b_bufsize)) */) {
 		vm_ooffset_t foff;
 		vm_object_t obj;
 		int i, resid;


--
Doug Rabson				Mail:  dfr@nlsystems.com
Nonlinear Systems Ltd.			Phone: +44 181 951 1891
					Fax:   +44 181 381 1039




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.BSF.3.95q.970602124920.810B-100000>