From 667f316f4a517bd602828802083c376fd1bbac5f Mon Sep 17 00:00:00 2001 From: dg Date: Fri, 3 Feb 1995 03:40:08 +0000 Subject: Removed a pile of vfs_unbusy_pages()...both unnecessary and wrong - resulted in serious system instability. Changed a B_INVAL to a B_NOCACHE so that buffer data is properly disposed of. Submitted by: John Dyson, Rick Macklin, and ohki@gssm.otsuka.tsukuba.ac.jp --- sys/nfsclient/nfs_bio.c | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) (limited to 'sys/nfsclient/nfs_bio.c') diff --git a/sys/nfsclient/nfs_bio.c b/sys/nfsclient/nfs_bio.c index b1430dc..f8b77f9 100644 --- a/sys/nfsclient/nfs_bio.c +++ b/sys/nfsclient/nfs_bio.c @@ -34,7 +34,7 @@ * SUCH DAMAGE. * * @(#)nfs_bio.c 8.5 (Berkeley) 1/4/94 - * $Id: nfs_bio.c,v 1.8 1995/01/09 16:05:05 davidg Exp $ + * $Id: nfs_bio.c,v 1.9 1995/01/10 13:06:51 davidg Exp $ */ #include @@ -249,7 +249,6 @@ again: vfs_busy_pages(bp, 0); error = nfs_doio(bp, cred, p); if (error) { - vfs_unbusy_pages(bp); brelse(bp); return (error); } @@ -267,7 +266,7 @@ again: return (EINTR); got_buf = 1; } - bp->b_flags |= B_INVAL; + bp->b_flags |= B_NOCACHE; if (bp->b_dirtyend > 0) { if ((bp->b_flags & B_DELWRI) == 0) panic("nfsbioread"); @@ -293,7 +292,6 @@ again: vfs_busy_pages(bp, 0); error = nfs_doio(bp, cred, p); if (error) { - vfs_unbusy_pages(bp); bp->b_flags |= B_ERROR; brelse(bp); return (error); @@ -315,7 +313,6 @@ again: vfs_busy_pages(bp, 0); error = nfs_doio(bp, cred, p); if (error) { - vfs_unbusy_pages(bp); bp->b_flags |= B_ERROR; brelse(bp); return (error); @@ -337,8 +334,8 @@ again: rabp->b_flags |= (B_READ | B_ASYNC); vfs_busy_pages(rabp, 0); if (nfs_asyncio(rabp, cred)) { - vfs_unbusy_pages(rabp); rabp->b_flags |= B_INVAL|B_ERROR; + vfs_unbusy_pages(rabp); brelse(rabp); } } else { -- cgit v1.1