From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:35921) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Ubu5N-000587-Rx for qemu-devel@nongnu.org; Mon, 13 May 2013 10:50:47 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Ubu5I-000633-Up for qemu-devel@nongnu.org; Mon, 13 May 2013 10:50:45 -0400 Received: from mx1.redhat.com ([209.132.183.28]:46922) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Ubu5I-00062v-Mt for qemu-devel@nongnu.org; Mon, 13 May 2013 10:50:40 -0400 Message-ID: <5190FDBC.8090607@redhat.com> Date: Mon, 13 May 2013 08:50:36 -0600 From: Eric Blake MIME-Version: 1.0 References: <1367221335-22777-1-git-send-email-stefanha@redhat.com> <1367221335-22777-3-git-send-email-stefanha@redhat.com> <518DC2C6.5030500@redhat.com> <20130513082811.GB6419@dhcp-200-207.str.redhat.com> <5190E30E.40005@redhat.com> <20130513130931.GC6419@dhcp-200-207.str.redhat.com> <20130513091858.54c4e4e6@redhat.com> <5190F534.40806@redhat.com> <20130513142705.GE6419@dhcp-200-207.str.redhat.com> In-Reply-To: <20130513142705.GE6419@dhcp-200-207.str.redhat.com> Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="----enig2RUKUDRKXTXBSOAKNDDDG" Subject: Re: [Qemu-devel] [PATCH v2 2/3] block: add block-backup QMP command List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Kevin Wolf Cc: Fam Zheng , Wenchao Xia , qemu-devel@nongnu.org, Luiz Capitulino , imain@redhat.com, Stefan Hajnoczi , pbonzini@redhat.com, dietmar@proxmox.com This is an OpenPGP/MIME signed message (RFC 4880 and 3156) ------enig2RUKUDRKXTXBSOAKNDDDG Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable On 05/13/2013 08:27 AM, Kevin Wolf wrote: > I think long term we'll need a dynamic schema anyway. As we go forward > with modularisation and putting things into shared libraries, we'll hav= e > modules that add support for commands, enum values, etc. In other words, qapi-schema.json should have a way to declare a dynamic-enum, where introspection on that enum will see what is made available at runtime, rather than manually listing the enum contents directly in the .json file. >=20 > Providing the full list of theoretically available elements (i.e. what > would be there, if everything was compiled and all modules were loaded)= > would probably implement the spec for the introspection interfaces by t= he > letter, but just give useless information. Callers want to know what's > really there. >=20 > If we're going to have a query-* command for everything, then we don't > need introspection at all. I would however prefer having the uniform > schema introspection and building the schema at runtime instead of many= > separate query-* commands. Indeed, having introspection of a dynamic enum results in fewer commands overall, by making a reusable command have more power. And maybe it's possible to have introspection do both - with an optional boolean parameter that distinguishes between full vs. runtime querying of any enum type. --=20 Eric Blake eblake redhat com +1-919-301-3266 Libvirt virtualization library http://libvirt.org ------enig2RUKUDRKXTXBSOAKNDDDG Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.13 (GNU/Linux) Comment: Public key at http://people.redhat.com/eblake/eblake.gpg Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/ iQEcBAEBCAAGBQJRkP28AAoJEKeha0olJ0NqB8EH+wRvA5qgTjJg4hnBYfoVamT/ EMwCMdB725DqZEUoURlmdgje1KlwDvm9LAUL0zJOMyOsByIfS3ysO3LKNJPOiHY9 9H8dLmwfJ1k6NZWw2pSaPDEYHOV+fENb7z/yLJquarmAd+bnynS4JLOUsg6vx/Pc cpc8os8Iii5ABB9jef3ZOdP2ulsHDUwIhEwAI5bd0NxZKZcqkGMet57Zp4JJMIPL Xlumiil348BKASVOOx/fHVE34hcVVimh51CkJ5B3XZIixAXoieS02u/uVvHfuEAZ oj16oIFet3m+uQhxJE29oWpxnTgjqXbSi9oes7jAOzTmArJy2pTdMcYENvz7/hM= =FjaN -----END PGP SIGNATURE----- ------enig2RUKUDRKXTXBSOAKNDDDG--