Am 15.08.2011 11:00, schrieb Nicholas Thomas: > Current behaviour if a read fails is for the acb to not get finished. > This causes an infinite loop in bdrv_read_em (block.c). The read failure > never gets reported to the guest and if the error condition clears, the > process never recovers. > > With this patch, when curl reports a failure we finish the acb as a > failure. This results in the guest receiving an I/O error (rather than > the read hanging indefinitely) and if the error condition subsequently > clears, retries work as expected. > > The simplest test is to put an ISO on a web server you have control over > and open it with qemu-io. Then move the ISO out of the way and attempt > to read some data - you should see behaviour matching the above. > > Signed-off-by: Nick Thomas <n...@bytemark.co.uk>
Thanks, applied to the block branch. Kevin