[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v6 12/15] blockdev: Keep track of monitor-owned
From: |
Kevin Wolf |
Subject: |
Re: [Qemu-devel] [PATCH v6 12/15] blockdev: Keep track of monitor-owned BDS |
Date: |
Mon, 9 Nov 2015 17:26:38 +0100 |
User-agent: |
Mutt/1.5.21 (2010-09-15) |
Am 09.11.2015 um 16:05 hat Alberto Garcia geschrieben:
> On Wed 04 Nov 2015 07:57:44 PM CET, Max Reitz wrote:
> > @@ -3519,11 +3537,18 @@ void qmp_x_blockdev_del(bool has_id, const char *id,
> > bdrv_get_device_or_node_name(bs));
> > goto out;
> > }
> > +
> > + if (!blk && !bs->monitor_list.tqe_prev) {
> > + error_setg(errp, "Node %s is not owned by the monitor",
> > + bs->node_name);
> > + goto out;
> > + }
> > }
> >
> > if (blk) {
> > blk_unref(blk);
> > } else {
> > + QTAILQ_REMOVE(&monitor_bdrv_states, bs, monitor_list);
> > bdrv_unref(bs);
> > }
>
> blk_unref(blk) will also unref the BDS (if there's any), so you also
> need to update monitor_bdrv_states in that case, don't you?
No, in that case the BDS referenced wasn't owned by the monitor in the
first place. It was owned by the BB.
Kevin
- Re: [Qemu-devel] [PATCH v6 07/15] block: Move BDS close notifiers into BB, (continued)
[Qemu-devel] [PATCH v6 08/15] block: Use blk_remove_bs() in blk_delete(), Max Reitz, 2015/11/04
[Qemu-devel] [PATCH v6 09/15] blockdev: Use blk_remove_bs() in do_drive_del(), Max Reitz, 2015/11/04
[Qemu-devel] [PATCH v6 10/15] block: Make bdrv_close() static, Max Reitz, 2015/11/04
[Qemu-devel] [PATCH v6 11/15] block: Add list of all BlockDriverStates, Max Reitz, 2015/11/04
[Qemu-devel] [PATCH v6 12/15] blockdev: Keep track of monitor-owned BDS, Max Reitz, 2015/11/04
[Qemu-devel] [PATCH v6 13/15] block: Add blk_remove_all_bs(), Max Reitz, 2015/11/04
[Qemu-devel] [PATCH v6 14/15] block: Rewrite bdrv_close_all(), Max Reitz, 2015/11/04
[Qemu-devel] [PATCH v6 15/15] iotests: Add test for multiple BB on BDS tree, Max Reitz, 2015/11/04