All of lore.kernel.org
 help / color / mirror / Atom feed
From: Kevin Wolf <kwolf@redhat.com>
To: Nicholas Thomas <nick@bytemark.co.uk>
Cc: qemu-trivial@nongnu.org, qemu-devel@nongnu.org
Subject: Re: [Qemu-trivial] [Qemu-devel] [PATCH] block/curl: Handle failed reads gracefully.
Date: Fri, 19 Aug 2011 01:00:33 +0200	[thread overview]
Message-ID: <4E4D9991.60707@redhat.com> (raw)
In-Reply-To: <1313398834.17401.135.camel@desk4.office.bytemark.co.uk>

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 <nick@bytemark.co.uk>

Thanks, applied to the block branch.

Kevin


WARNING: multiple messages have this Message-ID (diff)
From: Kevin Wolf <kwolf@redhat.com>
To: Nicholas Thomas <nick@bytemark.co.uk>
Cc: qemu-trivial@nongnu.org, qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] [PATCH] block/curl: Handle failed reads gracefully.
Date: Fri, 19 Aug 2011 01:00:33 +0200	[thread overview]
Message-ID: <4E4D9991.60707@redhat.com> (raw)
In-Reply-To: <1313398834.17401.135.camel@desk4.office.bytemark.co.uk>

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 <nick@bytemark.co.uk>

Thanks, applied to the block branch.

Kevin

  reply	other threads:[~2011-08-18 22:57 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-08-15  9:00 [Qemu-trivial] [PATCH] block/curl: Handle failed reads gracefully Nicholas Thomas
2011-08-15  9:00 ` [Qemu-devel] " Nicholas Thomas
2011-08-18 23:00 ` Kevin Wolf [this message]
2011-08-18 23:00   ` Kevin Wolf

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4E4D9991.60707@redhat.com \
    --to=kwolf@redhat.com \
    --cc=nick@bytemark.co.uk \
    --cc=qemu-devel@nongnu.org \
    --cc=qemu-trivial@nongnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.