[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH] block/curl: Handle failed reads gracefully.
From: |
Kevin Wolf |
Subject: |
Re: [Qemu-devel] [PATCH] block/curl: Handle failed reads gracefully. |
Date: |
Fri, 19 Aug 2011 01:00:33 +0200 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:5.0) Gecko/20110707 Thunderbird/5.0 |
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 <address@hidden>
Thanks, applied to the block branch.
Kevin