From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:48848) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YbMwt-0005zv-Q1 for qemu-devel@nongnu.org; Fri, 27 Mar 2015 01:36:52 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1YbMwo-0003zk-MA for qemu-devel@nongnu.org; Fri, 27 Mar 2015 01:36:51 -0400 Received: from mail-pa0-x22d.google.com ([2607:f8b0:400e:c03::22d]:36647) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YbMwo-0003xB-EE for qemu-devel@nongnu.org; Fri, 27 Mar 2015 01:36:46 -0400 Received: by padcy3 with SMTP id cy3so85309340pad.3 for ; Thu, 26 Mar 2015 22:36:45 -0700 (PDT) Sender: Lin Ma From: Lin Ma Date: Fri, 27 Mar 2015 13:36:10 +0800 Message-Id: <1427434572-17552-1-git-send-email-lma@suse.com> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Subject: [Qemu-devel] [PATCH v4 0/2] Add generic can_be_deleted to UserCreatableClass. List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: imammedo@redhat.com, afaerber@suse.de, peter.crosthwaite@xilinx.com, pbonzini@redhat.com Cc: qemu-devel@nongnu.org, Lin Ma The patchset adds a generic can_be_deleted callback to UserCreatableClass. It prevents removing a usercreatable object if the callback returns false. Backends could implement the callback if it shoudn't be removed while it's in use. Thank Peter Crosthwaite, Paolo Bonzini, Andreas Färber and Igor Mammedov for helping review. ChangeLog: V4: Add function user_creatable_can_be_deleted to wrapper can_be_deleted method. Remove some unnecessary code. V3: Move the callback to the correct place: UserCreatableClass. Move the backend callback implementation to hostmem.c. V2: Make it generic, add the can_be_deleted callback to TypeInfo and TypeImpl. Implement the callback in hostmem-file.c and hostmem-ram.c. V1: Initial version, hard coded in object_del to prevent removing an in-use host memory backend. Lin Ma (2): qom: Add can_be_deleted callback to UserCreatableClass hostmem: Prevent removing an in-use memory backend object backends/hostmem.c | 14 ++++++++++++++ include/qom/object_interfaces.h | 14 ++++++++++++++ qmp.c | 5 +++++ qom/object_interfaces.c | 15 +++++++++++++++ 4 files changed, 48 insertions(+) -- 2.1.4