From: Max Reitz <mreitz@redhat.com>
To: Kevin Wolf <kwolf@redhat.com>
Cc: Stefan Hajnoczi <stefanha@redhat.com>,
qemu-devel@nongnu.org, qemu-block@nongnu.org,
Markus Armbruster <armbru@redhat.com>
Subject: Re: [Qemu-devel] [PATCH v3 08/14] blockdev: Remove blk_hide_on_behalf_of_hmp_drive_del()
Date: Wed, 17 Feb 2016 16:47:50 +0100 [thread overview]
Message-ID: <56C49626.2020509@redhat.com> (raw)
In-Reply-To: <20160217141835.GG29494@noname.str.redhat.com>
[-- Attachment #1: Type: text/plain, Size: 2021 bytes --]
On 17.02.2016 15:18, Kevin Wolf wrote:
> Am 16.02.2016 um 19:08 hat Max Reitz geschrieben:
>> This function first removed the BlockBackend from the blk_backends list
>> and cleared its name so it would no longer be found by blk_name(); since
>> blk_next() now iterates through monitor_block_backends (which the BB is
>> removed from in hmp_drive_del()), this is no longer necessary.
>
> Not clearing the name any more means that you can't create a new
> BlockBackend with the same ID until the hidden BB finally goes away.
>
> As it happens, you already can't do that with drive_add, because we also
> keep the ID reserved in the QemuOpts, so it's already broken today.
> However, before this patch, you can still use blockdev-add to create a
> new BB with the ID of a BB that drive_del removed; after it, you get an
> error:
>
> {"error": {"class": "GenericError", "desc": "Device with id 'disk'
> already exists"}}
>
> In order to fix this, I suggested on IRC that we view the BB name as
> belonging to the monitor reference logically, i.e. we add a name with
> monitor_add_blk() (which would get a new ID parameter) and clear it
> again in monitor_remove_blk().
Moving the @name parameter from blk_new() to monitor_add_blk() seems
reasonable but would necessitate pulling in two patches from the
follow-up series to this (there are places which try to emit the BB's
name while its BDS is created, which these two patches change so they no
longer do this).
Alternatively, as I said, we might want to call monitor_add_blk() in
blk_new() if the name is non-NULL (and allow NULL names).
Max
>> Second, bdrv_make_anon() was called on the BDS. This was intended for
>> cases where the BDS was owned by that BB alone; in which case the BDS
>> will no longer exist at this point thanks to the blk_remove_bs() in
>> hmp_drive_del().
>>
>> Therefore, this function does nothing useful anymore. Remove it.
>>
>> Signed-off-by: Max Reitz <mreitz@redhat.com>
>
> Kevin
>
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 473 bytes --]
next prev parent reply other threads:[~2016-02-17 15:48 UTC|newest]
Thread overview: 39+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-02-16 18:08 [Qemu-devel] [PATCH v3 00/14] blockdev: Further BlockBackend work Max Reitz
2016-02-16 18:08 ` [Qemu-devel] [PATCH v3 01/14] monitor: Use BB list for BB name completion Max Reitz
2016-02-17 10:09 ` Kevin Wolf
2016-02-17 15:35 ` Max Reitz
2016-02-16 18:08 ` [Qemu-devel] [PATCH v3 02/14] block: Use blk_next() where appropriate Max Reitz
2016-02-16 18:08 ` [Qemu-devel] [PATCH v3 03/14] block: Add blk_all_next() Max Reitz
2016-02-16 18:08 ` [Qemu-devel] [PATCH v3 04/14] block: Add blk_name_taken() Max Reitz
2016-02-17 10:29 ` Kevin Wolf
2016-02-17 15:36 ` Max Reitz
2016-02-16 18:08 ` [Qemu-devel] [PATCH v3 05/14] block: Add blk_commit_all() Max Reitz
2016-02-16 18:08 ` [Qemu-devel] [PATCH v3 06/14] block: Use blk_{commit, flush}_all() consistently Max Reitz
2016-02-16 18:08 ` [Qemu-devel] [PATCH v3 07/14] blockdev: Add list of monitor-owned BlockBackends Max Reitz
2016-02-17 10:53 ` Kevin Wolf
2016-02-17 15:41 ` Max Reitz
2016-02-17 16:20 ` Kevin Wolf
2016-02-20 13:34 ` Max Reitz
2016-02-20 13:36 ` Max Reitz
2016-02-22 8:24 ` Markus Armbruster
2016-02-22 16:29 ` Max Reitz
2016-02-23 9:48 ` Markus Armbruster
2016-02-23 13:52 ` Max Reitz
2016-02-23 14:10 ` Kevin Wolf
2016-02-24 9:28 ` Markus Armbruster
2016-02-24 9:56 ` Kevin Wolf
2016-02-24 15:25 ` Max Reitz
2016-02-16 18:08 ` [Qemu-devel] [PATCH v3 08/14] blockdev: Remove blk_hide_on_behalf_of_hmp_drive_del() Max Reitz
2016-02-17 14:18 ` Kevin Wolf
2016-02-17 15:47 ` Max Reitz [this message]
2016-02-17 16:22 ` Kevin Wolf
2016-02-16 18:08 ` [Qemu-devel] [PATCH v3 09/14] block: Move some bdrv_*_all() functions to BB Max Reitz
2016-02-17 15:51 ` Kevin Wolf
2016-02-20 13:46 ` Max Reitz
2016-02-16 18:08 ` [Qemu-devel] [PATCH v3 10/14] block: Add bdrv_next_monitor_owned() Max Reitz
2016-02-16 18:08 ` [Qemu-devel] [PATCH v3 11/14] block: Add blk_next_root_bs() Max Reitz
2016-02-17 16:06 ` Kevin Wolf
2016-02-16 18:08 ` [Qemu-devel] [PATCH v3 12/14] block: Rewrite bdrv_next() Max Reitz
2016-02-16 18:08 ` [Qemu-devel] [PATCH v3 13/14] block: Use bdrv_next() instead of bdrv_states Max Reitz
2016-02-16 18:08 ` [Qemu-devel] [PATCH v3 14/14] block: Remove bdrv_states list Max Reitz
2016-02-17 16:12 ` [Qemu-devel] [PATCH v3 00/14] blockdev: Further BlockBackend work 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=56C49626.2020509@redhat.com \
--to=mreitz@redhat.com \
--cc=armbru@redhat.com \
--cc=kwolf@redhat.com \
--cc=qemu-block@nongnu.org \
--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.