On Dec 29, 2012, at 10:56 PM, Christos Zoulas <chris...@netbsd.org> wrote:

> Always call brelse() on error. Otherwise a possible error from bread() will
> cause the buffer to stay lock and we end up blocking forever in
> VOP_CLOSE->spec_close->vinvalbuf->bbysy since the buffer is marked busy
> but there is no I/O pending.
> This caused my laptop to hang on boot_findwedge because:
>    findroot: unable to read block 358331527 of dev dk0 (22)

Thanks.  Just applied the same to breadn().

--
J. Hannken-Illjes - hann...@eis.cs.tu-bs.de - TU Braunschweig (Germany)

Reply via email to