CVSROOT: /cvs Module name: src Changes by: k...@cvs.openbsd.org 2011/06/26 19:14:24
Modified files: sys/arch/amd64/amd64: dkcsum.c sys/arch/i386/i386: dkcsum.c Log message: Ensure we don't re-issue a failed buf without clearing B_ERROR and b_error. Otherwise a good i/o will appear to have failed. Fixes problem with dkcsum.c being unable to read data to checksum from subsequent devices after an i/o fails. And thus failing to find correct root in some cases. Introduced at k2k11 with buf flags rectification. Scan of all biowait() calls finds no other obvious re-use of a buf that could have error'ed out. Just re-use of bufs that worked. So quick fix pending closer review of all uses. Problem noted by Jens A. Griepen. ok matthew@ deraadt@