Received: from eggs.gnu.org ([2001:4830:134:3::10]:35785) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Zlyq1-0000J0-84 for qemu-devel@nongnu.org; Tue, 13 Oct 2015 08:37:57 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Zlyq0-0004KW-BL for qemu-devel@nongnu.org; Tue, 13 Oct 2015 08:37:53 -0400 Received: from mx1.redhat.com ([209.132.183.28]:49347) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Zlyq0-0004KD-5r for qemu-devel@nongnu.org; Tue, 13 Oct 2015 08:37:52 -0400 From: "Daniel P. Berrange" Date: Tue, 13 Oct 2015 13:37:39 +0100 Message-Id: <1444739866-14798-1-git-send-email-berrange@redhat.com> Subject: [Qemu-devel] [PATCH v4 0/7] qom: more efficient object property handling List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: Pavel Fedin , Markus Armbruster , Paolo Bonzini , =?UTF-8?q?Andreas=20F=C3=A4rber?= This patch series is a followup to v3: https://lists.gnu.org/archive/html/qemu-devel/2015-10/msg02024.html v2: https://lists.gnu.org/archive/html/qemu-devel/2015-09/msg05953.html + https://lists.gnu.org/archive/html/qemu-devel/2015-10/msg01455.html This series introduces a concept of object property iterators to QOM so callers are insulated from the specific data structures used for storing properties against objects/classes. It then converts Object to use a GHashTable for storing properties. Finally it introduces ObjectClass properties. Probably the only controversial thing is the item Pavel points out about object_child_foreach iterators now being forbidden from modifying the object composition tree. Changed in v4: - Create ObjectPropertyIterator struct to allow inline iteration, instead of using callback functions - Convert spapr and net filter code to new iterators too - Extend check-qom-proplist.c test to cover new iterators and class property usage Daniel P. Berrange (6): qom: introduce ObjectPropertyIterator struct for iteration qmp: convert QMP code to use object property iterators vl: convert machine help code to use object property iterators ppc: convert spapr code to use object property iterators net: convert net filter code to use object property iterators qom: allow properties to be registered against classes Pavel Fedin (1): qom: replace object property list with GHashTable hw/ppc/spapr_drc.c | 5 +- include/qom/object.h | 110 ++++++++++++++- net/filter.c | 5 +- qmp.c | 10 +- qom/object.c | 328 ++++++++++++++++++++++++++++++++++++++++----- tests/check-qom-proplist.c | 77 +++++++++-- vl.c | 5 +- 7 files changed, 485 insertions(+), 55 deletions(-) -- 2.4.3