From: Markus Armbruster <armbru@redhat.com>
To: Paolo Bonzini <pbonzini@redhat.com>
Cc: Kevin Wolf <kwolf@redhat.com>,
dron@redhat.com, qemu-devel@nongnu.org,
Stefan Hajnoczi <stefanha@redhat.com>
Subject: Re: [Qemu-devel] [PATCH] blockdev: reset werror/rerror on drive_del
Date: Tue, 04 Jun 2013 21:24:07 +0200 [thread overview]
Message-ID: <87fvwxllwo.fsf@blackfin.pond.sub.org> (raw)
In-Reply-To: <51AE1E3B.9030006@redhat.com> (Paolo Bonzini's message of "Tue, 04 Jun 2013 19:04:59 +0200")
Paolo Bonzini <pbonzini@redhat.com> writes:
> Il 04/06/2013 18:37, Markus Armbruster ha scritto:
>> I figure the bit that can't be resolved now is letting the user switch
>> off "stop on error" safely before a drive_del. Even if we had a command
>> for that, there'd still be a window between that command's execution and
>> drive_del's. Your patch solves the problem by having drive_del switch
>> it off unconditionally. Oookay, but please document it, because it's
>> not exactly obvious.
>
> It is not obvious, but it is not surprising either when you see it (i.e.
> you won't really be surprised by the errors in the guest and won't need
> to know that, under the hood, rerror has been changed from the value you
> specified).
>
>> Re "the guest gets the ENOMEDIUM error": depends on the device. I doubt
>> disks can signal "no medium", and even if they could, I doubt device
>> drivers are prepared for it.
>
> SCSI disks can signal whatever they want. Device drivers will just
> treat it as any other error (sense code) they don't recognize.
My point is: the commit message claims "the guest gets the ENOMEDIUM
error", which isn't really true. No biggie, of course.
>> Re "this scenario actually happens sometimes during libvirt disk hot
>> unplug, where device_del is followed by drive_del": if I remember
>> correctly, libvirt disk hot unplug runs drive_del right after
>> device_del, opening a window where the guest sees a dead device. That's
>> asking for trouble, and trouble is known to oblige.
>
> I think it's causing too much trouble though, and Stefan's patch is
> making the trouble evident to the guest. Surprise removal is a fact of
> life, I don't think it makes sense to stop the machine on surprise
> removal. It's very different from I/O errors.
I don't disagree with Stefan's patch, or your defense of it.
Except I'm reluctant to not document something non-obvious because "you
don't need to know" when I can document it in less time it would take me
to overcome my resistance to "you don't need to know" arguments ;)
This is drive_add's documentation in hmp-commands.hx:
Remove host block device. The result is that guest generated IO is
no longer submitted against the host device underlying the disk.
Once a drive has been deleted, the QEMU Block layer returns -EIO
which results in IO errors in the guest for applications that are
reading/writing to the device.
Suggest to add:
These errors are always reported to the guest, regardless of the
drive's error actions (drive options rerror, werror).
Independently, libvirt needs fixing.
next prev parent reply other threads:[~2013-06-04 19:24 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-06-03 14:58 [Qemu-devel] [PATCH] blockdev: reset werror/rerror on drive_del Stefan Hajnoczi
2013-06-03 15:20 ` Paolo Bonzini
2013-06-04 16:37 ` Markus Armbruster
2013-06-04 17:04 ` Paolo Bonzini
2013-06-04 19:24 ` Markus Armbruster [this message]
2013-06-04 19:32 ` Eric Blake
2013-06-05 7:09 ` Markus Armbruster
2013-06-05 8:21 ` Stefan Hajnoczi
2013-06-05 8:26 ` Fam Zheng
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=87fvwxllwo.fsf@blackfin.pond.sub.org \
--to=armbru@redhat.com \
--cc=dron@redhat.com \
--cc=kwolf@redhat.com \
--cc=pbonzini@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=stefanha@redhat.com \
/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.