From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([140.186.70.92]:57349) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RbWqU-0004Qs-S3 for qemu-devel@nongnu.org; Fri, 16 Dec 2011 07:25:07 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1RbWqO-0002Jr-Jt for qemu-devel@nongnu.org; Fri, 16 Dec 2011 07:25:02 -0500 Received: from mx1.redhat.com ([209.132.183.28]:9035) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RbWqO-0002Jn-DM for qemu-devel@nongnu.org; Fri, 16 Dec 2011 07:24:56 -0500 Message-ID: <4EEB3891.2020003@redhat.com> Date: Fri, 16 Dec 2011 13:24:49 +0100 From: Paolo Bonzini MIME-Version: 1.0 References: <1323721784-704-1-git-send-email-aliguori@us.ibm.com> <4EEA3813.80006@us.ibm.com> <4EEB1277.4070803@redhat.com> <4EEB1ABB.50204@redhat.com> <4EEB1F3B.8070302@redhat.com> In-Reply-To: <4EEB1F3B.8070302@redhat.com> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PATCH v3 00/20] qom: dynamic properties and composition tree List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Kevin Wolf Cc: Peter Maydell , Anthony Liguori , Stefan Hajnoczi , Jan Kiszka , qemu-devel@nongnu.org, Luiz Capitulino , Markus Armbruster On 12/16/2011 11:36 AM, Kevin Wolf wrote: > > I think actually this is not the biggest problem. child properties are > > dynamic, and it's not a problem IMO if they are created like that. > > That they are added in an init function is an indicator that they aren't > really dynamic. That's true. However, another indicator is that anything that does not have a struct field is also not really static. :) So right now, child properties are all "dynamic" in this sense. This could change when Anthony converts buses to QOM. The bus right now is embedded into the HBA's struct, is not a pointer. This likely would change when buses are QOM-ized, but then the bus would indeed be a 100% static child. > I think having a child property that can be NULL could be > reasonable. I think Anthony convinced me this is not the case (unlike links). Even if buses and similar objects are changed to pointers because the implementation needs that, those pointers should never be NULL (or if they can, the child property should not exist when they are NULL). Paolo