From: Luiz Capitulino <lcapitulino@redhat.com>
To: Markus Armbruster <armbru@redhat.com>
Cc: kwolf@redhat.com, hch@lst.de, qemu-devel@nongnu.org, kraxel@redhat.com
Subject: Re: [Qemu-devel] [PATCH v3 3/6] block QMP: Drop query-block member "type" (type= in info block)
Date: Thu, 12 May 2011 15:36:35 -0300 [thread overview]
Message-ID: <20110512153635.3a421dbc@doriath> (raw)
In-Reply-To: <m339kjdctb.fsf@blackfin.pond.sub.org>
On Thu, 12 May 2011 19:54:40 +0200
Markus Armbruster <armbru@redhat.com> wrote:
> Luiz Capitulino <lcapitulino@redhat.com> writes:
>
> > On Thu, 12 May 2011 19:12:56 +0200
> > Markus Armbruster <armbru@redhat.com> wrote:
> >
> >> Luiz Capitulino <lcapitulino@redhat.com> writes:
> >>
> >> > On Thu, 12 May 2011 17:05:12 +0200
> >> > Markus Armbruster <armbru@redhat.com> wrote:
> >> >
> >> >> Its value is unreliable: a block device used as floppy has type
> >> >> "floppy" if created with if=floppy, but type "hd" if created with
> >> >> if=none.
> >> >>
> >> >> That's because with if=none, the type is at best a declaration of
> >> >> intent: the drive can be connected to any guest device. Its type is
> >> >> really the guest device's business. Reporting it here is wrong.
> >> >
> >> > It reports how the guest is using the device, right? I'd say that's what
> >> > users/clients are interested in knowing.
> >>
> >> The value is *unreliable*. It may or may not match how the guest is
> >> using the device. I doubt users are interested in unreliable
> >> information.
> >
> > Can't it be fixed? And how are users/clients supposed to find out how
> > the guest is using its block devices?
>
> To find out more about the guest's devices, examine the guest's devices:
> info qtree.
Which is not converted to QMP yet.
> You don't expect to find the guest serial devices in in "info chardev",
> either. query-block's type member is a mistake, because it mixes up
> guest device info with the host device info. Dropping it is a bug fix.
I understand why you're dropping it, what I don't want to do is to break
working clients. For example, there might be clients out there using it
in a way that it's expected to work (eg. if=floppy).
Of course that I'm assuming that such a client exist.
> The fact that its value is unreliable is merely icing on the cake.
>
> >> > Also, we can't just drop it from QMP. We should first note it's deprecated.
> >>
> >> Would you accept a change to the more honest value "unknown" for the
> >> deprecation period?
> >
> > We have to avoid breaking the protocol. Changing something that has always
> > been reported as 'cdrom' to 'unknown' will likely cause as many as damages
> > as dropping the command.
>
> I can cause damage only if somebody is using it. Which I doubt.
Me too and I'd agree with this patch if I was 100% sure. But it's impossible
to be sure, unless we do it by trial and error which is harmful.
> Remember, the value is unreliable. It's a *lie*. We can stop lying in
> two ways: shut up (drop member "type"), or tell the truth (change the
> value to "unknown", which is a documented value of "type").
Can we set it to 'unknown' when if=none?
> > The best solution I can think of is noting in the documentation that the
> > information is unreliable and explain what clients interested in knowing
> > this info should do.
>
> I'd be much more willing to jump through compatibility hoops if there
> was *one* known user of this particular detail of QMP.
Ideally, yes, but it's the type of thing we'll never know.
> But if you insist on us continuing to lie, I'll find a way to continue
> to lie. I'm resisting it, because I think it's a disservice to our
> users.
I also want to do the best for our users and I don't want to ignore the bug,
but we don't know whether there are clients using the field. If we drop it
and a client does use it, then we'll have failed in doing the best.
next prev parent reply other threads:[~2011-05-12 18:36 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-05-12 15:05 [Qemu-devel] [PATCH v2 0/5] Split ide-drive and scsi-disk qdevs, and more Markus Armbruster
2011-05-12 15:05 ` [Qemu-devel] [PATCH v3 1/6] ide: Split qdev "ide-drive" into "ide-hd" and "ide-cd" Markus Armbruster
2011-05-12 15:05 ` [Qemu-devel] [PATCH v3 2/6] scsi: Split qdev "scsi-disk" into "scsi-hd" and "scsi-cd" Markus Armbruster
2011-05-12 15:05 ` [Qemu-devel] [PATCH v3 3/6] block QMP: Drop query-block member "type" (type= in info block) Markus Armbruster
2011-05-12 17:01 ` Luiz Capitulino
2011-05-12 17:12 ` Markus Armbruster
2011-05-12 17:22 ` Luiz Capitulino
2011-05-12 17:54 ` Markus Armbruster
2011-05-12 18:36 ` Luiz Capitulino [this message]
2011-05-13 8:26 ` Markus Armbruster
2011-05-13 13:39 ` Luiz Capitulino
2011-05-13 14:13 ` Markus Armbruster
2011-05-13 15:09 ` Luiz Capitulino
2011-05-12 15:05 ` [Qemu-devel] [PATCH v3 4/6] blockdev: Store -drive option media in DriveInfo Markus Armbruster
2011-05-12 15:05 ` [Qemu-devel] [PATCH v3 5/6] block: Remove type hint, it's guest matter, doesn't belong here Markus Armbruster
2011-05-12 15:05 ` [Qemu-devel] [PATCH v3 6/6] defaults: ide-cd and scsi-cd devices suppress default CD-ROM Markus Armbruster
2011-05-12 15:56 ` [Qemu-devel] [PATCH v2 0/5] Split ide-drive and scsi-disk qdevs, and more Markus Armbruster
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=20110512153635.3a421dbc@doriath \
--to=lcapitulino@redhat.com \
--cc=armbru@redhat.com \
--cc=hch@lst.de \
--cc=kraxel@redhat.com \
--cc=kwolf@redhat.com \
--cc=qemu-devel@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.