From 8d9318246f397ffad3ad53dcbb18886a8b540328 Mon Sep 17 00:00:00 2001 From: Oliver Lehmann Date: Thu, 1 May 2008 12:27:40 +0000 Subject: [PATCH] sync with WEGA 3.2 kernel --- WEGA/src/uts/dev/bio.c | 15 +++++---------- 1 file changed, 5 insertions(+), 10 deletions(-) diff --git a/WEGA/src/uts/dev/bio.c b/WEGA/src/uts/dev/bio.c index e1ff74c..1ae18bc 100644 --- a/WEGA/src/uts/dev/bio.c +++ b/WEGA/src/uts/dev/bio.c @@ -196,11 +196,8 @@ register struct buf *bp; bfreelist.b_flags &= ~B_WANTED; wakeup((caddr_t)&bfreelist); } - if (bp->b_flags & B_ERROR) { - bp->b_flags |= B_STALE|B_AGE; - bp->b_flags &= ~(B_ERROR|B_DELWRI); - bp->b_error = 0; - } + if (bp->b_flags & B_ERROR) + bp->b_dev = NODEV; /* no assoc. on error */ s = dvi(); if (bp->b_flags & B_AGE) backp = bfreelist.av_forw; @@ -228,8 +225,7 @@ register daddr_t blkno; hp = bhash(dev, blkno); for (bp = hp->b_forw; bp != hp; bp = bp->b_forw) { - if (bp->b_blkno == blkno && bp->b_dev == dev && - (bp->b_flags & B_STALE) == 0) + if (bp->b_blkno == blkno && bp->b_dev == dev) return(1); } return(0); @@ -255,7 +251,7 @@ loop: evi(); hp = bhash(dev, blkno); for (bp = hp->b_forw; bp != hp; bp = bp->b_forw) { - if (bp->b_blkno!=blkno || bp->b_dev!=dev || bp->b_flags&B_STALE) + if (bp->b_blkno!=blkno || bp->b_dev!=dev) continue; dvi(); if (bp->b_flags & B_BUSY) { @@ -603,8 +599,7 @@ register dev_t dev; hp = &hbuf[n]; for (bp = hp->b_forw; bp != (struct buf *)hp; bp = bp->b_forw) if (bp->b_dev == dev) { - bp->b_flags |= B_STALE|B_AGE; - bp->b_flags &= ~B_DELWRI; + bp->b_flags |= B_AGE; } } }