From: Kevin Wolf <kwolf@redhat.com>
To: Alberto Garcia <berto@igalia.com>
Cc: qemu-block@nongnu.org, mreitz@redhat.com, eblake@redhat.com,
qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] [PATCH v4 02/11] block: Accept node-name for block-commit
Date: Tue, 2 Aug 2016 18:22:49 +0200 [thread overview]
Message-ID: <20160802162249.GC5421@noname.redhat.com> (raw)
In-Reply-To: <w518twgmx2m.fsf@maestria.local.igalia.com>
Am 01.08.2016 um 15:35 hat Alberto Garcia geschrieben:
> On Thu 14 Jul 2016 03:28:05 PM CEST, Kevin Wolf wrote:
> > - blk = blk_by_name(device);
> > - if (!blk) {
> > - error_set(errp, ERROR_CLASS_DEVICE_NOT_FOUND,
> > - "Device '%s' not found", device);
> > + bs = qmp_get_root_bs(device, &local_err);
> > + if (!bs) {
> > + bs = bdrv_lookup_bs(device, device, NULL);
> > + if (!bs) {
> > + error_free(local_err);
> > + error_set(errp, ERROR_CLASS_DEVICE_NOT_FOUND,
> > + "Device '%s' not found", device);
> > + } else {
> > + error_propagate(errp, local_err);
> > + }
> > return;
>
> It seems that you're calling bdrv_lookup_bs() here twice, once in
> qmp_get_root_bs() and then again directly. If the purpose is to see
> whether the error is "device not found" or "device is not a root node" I
> think the code would be clearer if you do everything here.
Hm, I would like every command that needs a root node to go through
qmp_get_root_bs() for consistency. You're right that the extra code is
just for checking which error class we need to use.
> On a related note, you're keeping the DeviceNotFound error here, but not
> in block-stream. Wouldn't it be better to keep both APIs consistent?
This is the only instance that libvirt actually makes use of, so we have
to keep it. The others just happened to use the error class for no
specific reason, so they should have been GenericError from the start.
Kevin
next prev parent reply other threads:[~2016-08-02 16:22 UTC|newest]
Thread overview: 44+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-07-14 13:28 [Qemu-devel] [PATCH v4 00/11] block: Accept node-name in all node level QMP commands Kevin Wolf
2016-07-14 13:28 ` [Qemu-devel] [PATCH v4 01/11] block: Accept node-name for block-stream Kevin Wolf
2016-07-14 14:16 ` Eric Blake
2016-08-01 13:23 ` Alberto Garcia
2016-07-14 13:28 ` [Qemu-devel] [PATCH v4 02/11] block: Accept node-name for block-commit Kevin Wolf
2016-07-14 15:14 ` Eric Blake
2016-07-18 13:38 ` Max Reitz
2016-07-18 16:13 ` Eric Blake
2016-07-18 16:16 ` Max Reitz
2016-08-01 13:35 ` Alberto Garcia
2016-08-02 16:22 ` Kevin Wolf [this message]
2016-07-14 13:28 ` [Qemu-devel] [PATCH v4 03/11] block: Accept node-name for blockdev-backup Kevin Wolf
2016-07-14 16:14 ` Eric Blake
2016-07-18 13:59 ` Max Reitz
2016-08-02 16:58 ` Kevin Wolf
2016-07-14 13:28 ` [Qemu-devel] [PATCH v4 04/11] block: Accept node-name for blockdev-mirror Kevin Wolf
2016-07-14 20:24 ` Eric Blake
2016-08-01 13:42 ` Alberto Garcia
2016-07-14 13:28 ` [Qemu-devel] [PATCH v4 05/11] block: Accept node-name for blockdev-snapshot-delete-internal-sync Kevin Wolf
2016-07-14 20:32 ` Eric Blake
2016-08-01 13:43 ` Alberto Garcia
2016-07-14 13:28 ` [Qemu-devel] [PATCH v4 06/11] block: Accept node-name for blockdev-snapshot-internal-sync Kevin Wolf
2016-07-14 20:40 ` Eric Blake
2016-08-01 13:54 ` Alberto Garcia
2016-07-14 13:28 ` [Qemu-devel] [PATCH v4 07/11] block: Accept node-name for change-backing-file Kevin Wolf
2016-07-14 20:44 ` Eric Blake
2016-07-18 14:15 ` Max Reitz
2016-08-01 14:04 ` Alberto Garcia
2016-07-14 13:28 ` [Qemu-devel] [PATCH v4 08/11] block: Accept node-name for drive-backup Kevin Wolf
2016-07-14 20:48 ` Eric Blake
2016-07-18 14:24 ` Max Reitz
2016-08-01 14:02 ` Alberto Garcia
2016-07-14 13:28 ` [Qemu-devel] [PATCH v4 09/11] block: Accept node-name for drive-mirror Kevin Wolf
2016-07-14 20:54 ` Eric Blake
2016-07-18 14:30 ` Max Reitz
2016-08-02 16:19 ` Kevin Wolf
2016-08-03 11:16 ` Max Reitz
2016-07-14 13:28 ` [Qemu-devel] [PATCH v4 10/11] nbd-server: Use a separate BlockBackend Kevin Wolf
2016-07-14 21:30 ` Eric Blake
2016-07-14 13:28 ` [Qemu-devel] [PATCH v4 11/11] nbd-server: Allow node name for nbd-server-add Kevin Wolf
2016-07-14 21:36 ` Eric Blake
2016-07-15 13:36 ` Max Reitz
2016-07-15 15:18 ` Eric Blake
2016-07-15 15:22 ` Max Reitz
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=20160802162249.GC5421@noname.redhat.com \
--to=kwolf@redhat.com \
--cc=berto@igalia.com \
--cc=eblake@redhat.com \
--cc=mreitz@redhat.com \
--cc=qemu-block@nongnu.org \
--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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).