[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH 3/3] block: remove legacy_dinfo at blk_detach_de
From: |
Markus Armbruster |
Subject: |
Re: [Qemu-devel] [PATCH 3/3] block: remove legacy_dinfo at blk_detach_dev time |
Date: |
Mon, 21 Mar 2016 18:30:41 +0100 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/24.5 (gnu/linux) |
Paolo Bonzini <address@hidden> writes:
> On 21/03/2016 17:15, Markus Armbruster wrote:
>> * Explicitly with x-blockdev-del
>>
>> Fails unless no other reference exists. Where is the legacy_dinfo
>> released?
>
> Can a -drive block device be deleted with x-blockdev-del even?!?
When I wrote my review, I forgot that I expect x-blockdev-del to accept
only backends created with blockdev-add. With that, my question is
indeed moot.
However, I've now tested my expectation, and it turned out to be wrong.
I'm inclined to call that a bug.
> In other words, you said "This looks like DriveInfo now owns a reference
> to BlockBackend, even though the pointer still goes in the other
> direction". I say, "I thought this was the idea all along"...
For me, the DriveInfo doesn't own anything, but a BlockBackend may have
a DriveInfo. Evidence:
* The pointer goes from the BlockBackend to the DriveInfo
* To go back, you search the blk_backends for the one that has the
DriveInfo. See blk_by_legacy_dinfo().
* There is no list of DriveInfo. If you want to find one, you search
blk_backends. See drive_get() & friends.
> Shall I add a check to x-blockdev-del that gives an error if the
> BlockBackend has a DriveInfo attached?
Yes, please. But do double-check with Kevin & Max, who might have
different ideas on blockdev-add/del than I do.
>
> Paolo
>
>> * Implicitly via warty automatic deletion
>>
>> Your PATCH 01 has the necessary replacement of blk_unref(blk) by
>> blkdev_del_drive(blk) for some devices (virtio-blk.c, scsi-bus.c,
>> xen_disk,c, piix.c), butas far as I can see not for others such as
>> nvme.c.
- Re: [Qemu-devel] [PATCH 3/3] block: remove legacy_dinfo at blk_detach_dev time, Markus Armbruster, 2016/03/21
- Re: [Qemu-devel] [PATCH 3/3] block: remove legacy_dinfo at blk_detach_dev time, Paolo Bonzini, 2016/03/21
- Re: [Qemu-devel] [PATCH 3/3] block: remove legacy_dinfo at blk_detach_dev time,
Markus Armbruster <=
- Re: [Qemu-devel] [PATCH 3/3] block: remove legacy_dinfo at blk_detach_dev time, Paolo Bonzini, 2016/03/21
- Re: [Qemu-devel] [PATCH 3/3] block: remove legacy_dinfo at blk_detach_dev time, Markus Armbruster, 2016/03/21
- Re: [Qemu-devel] [PATCH 3/3] block: remove legacy_dinfo at blk_detach_dev time, Kevin Wolf, 2016/03/22
- Re: [Qemu-devel] [PATCH 3/3] block: remove legacy_dinfo at blk_detach_dev time, Markus Armbruster, 2016/03/22
- Re: [Qemu-devel] [PATCH 3/3] block: remove legacy_dinfo at blk_detach_dev time, Paolo Bonzini, 2016/03/22
- Re: [Qemu-devel] [PATCH 3/3] block: remove legacy_dinfo at blk_detach_dev time, Markus Armbruster, 2016/03/23
- Re: [Qemu-devel] [PATCH 3/3] block: remove legacy_dinfo at blk_detach_dev time, Paolo Bonzini, 2016/03/23
- Re: [Qemu-devel] [PATCH 3/3] block: remove legacy_dinfo at blk_detach_dev time, Markus Armbruster, 2016/03/23
- Re: [Qemu-devel] [PATCH 3/3] block: remove legacy_dinfo at blk_detach_dev time, Kevin Wolf, 2016/03/21
- Re: [Qemu-devel] [PATCH 3/3] block: remove legacy_dinfo at blk_detach_dev time, Markus Armbruster, 2016/03/21