Subject: bug in fd.c?
To: None <port-i386@NetBSD.ORG>
From: John M Vinopal <banshee@gabriella.abattoir.com>
List: port-i386
Date: 08/02/1996 18:17:08
It appears that fd will possible return a negative byte count upon error
I base this on fd.c: unmodified: line 579 of 1264 [45%]
fd.c
bad:
bp->b_flags |= B_ERROR;
done:
/* Toss transfer; we're done early. */
biodone(bp);
}
wd.c
bad:
bp->b_flags |= B_ERROR;
done:
/* Toss transfer; we're done early. */
bp->b_resid = bp->b_bcount;
biodone(bp);
}
It would appear that b_resid is not always initialized in fd.c (but in truth
I don't know enough of the deeper kernel world to assert this). The return
to disk_unbusy() always has a size argument of (bp->b_bcount - bp->b_resid).
Do I possess head in butt?
-j