From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:54795) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aMcHA-0006SG-8S for qemu-devel@nongnu.org; Fri, 22 Jan 2016 09:01:24 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1aMcH6-0005x8-8R for qemu-devel@nongnu.org; Fri, 22 Jan 2016 09:01:20 -0500 Sender: Paolo Bonzini References: <1452274665-23061-1-git-send-email-pbonzini@redhat.com> From: Paolo Bonzini Message-ID: <56A23621.1010406@redhat.com> Date: Fri, 22 Jan 2016 15:01:05 +0100 MIME-Version: 1.0 In-Reply-To: <1452274665-23061-1-git-send-email-pbonzini@redhat.com> Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [RFC PATCH 0/2] Early release of -drive QemuOpts List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: Kevin Wolf , Markus Armbruster , qemu-block@nongnu.org, Max Reitz On 08/01/2016 18:37, Paolo Bonzini wrote: > In short, this patch gets rid of blockdev_mark_auto_del and > blockdev_auto_del. > > With these patches, it is possible to create a new -drive with the same > id as soon as the DEVICE_DELETED event is delivered (which equals to > unrealize). > > I'm sorry I'm not able to explain the history (and probably do not > understand the full ramifications) of this. That's why this is just > an RFC. > > The idea here is that reference counting the BlockBackend is enough to > defer the deletion of the block device as much as necessary; anticipating > the demise of the DriveInfo is not a problem, and has the desired effect > of freeing the QemuOpts. > > Paolo > > Paolo Bonzini (2): > block: detach devices from DriveInfo at unrealize time > block: remove legacy_dinfo at blk_detach_dev time > > block/block-backend.c | 14 ++++++++---- > blockdev.c | 26 ++++++++------------------ > hw/block/virtio-blk.c | 4 +++- > hw/block/xen_disk.c | 1 + > hw/core/qdev-properties-system.c | 2 +- > hw/ide/piix.c | 3 +++ > hw/scsi/scsi-bus.c | 4 +++- > hw/usb/dev-storage.c | 3 ++- > include/sysemu/blockdev.h | 5 ++--- > 9 files changed, 33 insertions(+), 29 deletions(-) > Ping? Any comments or other kinds of review? :) Paolo