From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:43884) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bk7k8-0007JY-QQ for qemu-devel@nongnu.org; Wed, 14 Sep 2016 06:48:42 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1bk7k5-0001mw-Lr for qemu-devel@nongnu.org; Wed, 14 Sep 2016 06:48:40 -0400 Received: from mx1.redhat.com ([209.132.183.28]:45124) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bk7k5-0001mn-G1 for qemu-devel@nongnu.org; Wed, 14 Sep 2016 06:48:37 -0400 Date: Wed, 14 Sep 2016 11:48:31 +0100 From: "Daniel P. Berrange" Message-ID: <20160914104831.GH28399@redhat.com> Reply-To: "Daniel P. Berrange" References: <1473157086-12062-1-git-send-email-dgilbert@redhat.com> <87h99kdwha.fsf@dusky.pond.sub.org> <20160914103005.GA2852@work-vm> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: <20160914103005.GA2852@work-vm> Content-Transfer-Encoding: quoted-printable Subject: Re: [Qemu-devel] [PATCH v2] qom: Implement qom-get HMP command List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: "Dr. David Alan Gilbert" Cc: Markus Armbruster , kwolf@redhat.com, qemu-devel@nongnu.org, lcapitulino@redhat.com, arei.gonglei@huawei.com, pbonzini@redhat.com, afaerber@suse.de On Wed, Sep 14, 2016 at 11:30:06AM +0100, Dr. David Alan Gilbert wrote: > * Markus Armbruster (armbru@redhat.com) wrote: > > "Dr. David Alan Gilbert (git)" writes: > >=20 > > > From: "Dr. David Alan Gilbert" > > > > > > This started off as Andreas F=C3=A4rber's implementation from > > > March 2015, but after feedback from Paolo morphed into > > > using the json output which handles structs reasonably. > > > > > > Use with qom-list to find the members of an object. > > > > > > (qemu) qom-get /backend/console[0]/device/vga.rom[0] size > > > 65536 > > > (qemu) qom-get /machine smm > > > "auto" > > > (qemu) qom-get /machine rtc-time > > > { > > > "tm_year": 116, > > > "tm_sec": 0, > > > "tm_hour": 9, > > > "tm_min": 46, > > > "tm_mon": 8, > > > "tm_mday": 6 > > > } > > > (qemu) qom-get /machine frob > > > Property '.frob' not found > > > > > > Signed-off-by: Dr. David Alan Gilbert > >=20 > > Ignorant question: how does qom-set deal with structs? > >=20 > > I tried the obvious > >=20 > > (qemu) qom-set /machine rtc-time abc > > Insufficient permission to perform this operation >=20 > I don't think it does. Indeed it can't - qom_set ends up calling object_property_parse which uses string-input-visitor to parse the value, which can only handle scalars as the magic special case list-of-ints. To deal with compound properties would really require us to use a qdict_crumple + qmp_input_visitor combination, similar to how I've made -object and object_add be able to deal with compound properties. Regards, Daniel --=20 |: http://berrange.com -o- http://www.flickr.com/photos/dberrange= / :| |: http://libvirt.org -o- http://virt-manager.or= g :| |: http://autobuild.org -o- http://search.cpan.org/~danberr= / :| |: http://entangle-photo.org -o- http://live.gnome.org/gtk-vn= c :|