4d4825010d
back in rev. 1.51, bread() and breadn() were changed to assume that if B_DONE is set on a buffer returned by bio_doread(), that the buffer must have already been in the cache, and thus the overall bread() should return success. but if the requested buffer is not in the cache and is past the end of the device, bounds_check_with_label() will set B_ERROR on the buffer and the caller will call biodone(), which will cause bread() to think the buffer was already in the cache and thus return success. to fix this, undo rev. 1.51 and instead have biowait() treat both B_DONE and B_DELWRI as indicators that it doesn't need to sleep waiting for an i/o to complete. |
||
---|---|---|
.. | ||
adosfs | ||
altq | ||
arch | ||
coda | ||
compat | ||
conf | ||
crypto | ||
ddb | ||
dev | ||
filecorefs | ||
fs | ||
gdbscripts | ||
ipkdb | ||
isofs | ||
kern | ||
lib | ||
lkm | ||
miscfs | ||
msdosfs | ||
net | ||
netatalk | ||
netccitt | ||
netinet | ||
netinet6 | ||
netisdn | ||
netiso | ||
netkey | ||
netnatm | ||
netns | ||
netsmb | ||
nfs | ||
ntfs | ||
stand | ||
sys | ||
ufs | ||
uvm | ||
Makefile |