From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from [140.186.70.92] (port=41641 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1PxKAN-0005f9-9o for qemu-devel@nongnu.org; Wed, 09 Mar 2011 09:15:08 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1PxKAL-0007r5-Dt for qemu-devel@nongnu.org; Wed, 09 Mar 2011 09:15:07 -0500 Received: from mail-iy0-f173.google.com ([209.85.210.173]:55433) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1PxKAL-0007ql-Ao for qemu-devel@nongnu.org; Wed, 09 Mar 2011 09:15:05 -0500 Received: by iym7 with SMTP id 7so652894iym.4 for ; Wed, 09 Mar 2011 06:15:05 -0800 (PST) Message-ID: <4D778B66.8080101@codemonkey.ws> Date: Wed, 09 Mar 2011 08:15:02 -0600 From: Anthony Liguori MIME-Version: 1.0 Subject: Re: [Qemu-devel] [PATCH 00/22] QAPI Round 1 References: <1299460984-15849-1-git-send-email-aliguori@us.ibm.com> <4D7500C8.1080101@codemonkey.ws> <4D760F2B.7030004@redhat.com> <4D7630BA.4010609@us.ibm.com> <4D763311.5030905@redhat.com> <4D763525.2030700@codemonkey.ws> <4D763674.8000600@redhat.com> <4D7638BE.60808@codemonkey.ws> <4D763A61.2020809@redhat.com> <4D763F76.2020003@codemonkey.ws> <4D7642C1.90604@redhat.com> <4D764551.4000409@codemonkey.ws> <4D766B0E.9030908@redhat.com> <4D768134.9000006@codemonkey.ws> <4D773FAC.4090208@redhat.com> <4D777CD5.30403@codemonkey.ws> <4D777D40.4020000@redhat.com> <4D7785C7.6080603@codemonkey.ws> <4D7786B7.8060208@redhat.com> In-Reply-To: <4D7786B7.8060208@redhat.com> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Avi Kivity Cc: Stefan Hajnoczi , Markus Armbruster , qemu-devel@nongnu.org, Michael D Roth , Adam Litke , Luiz Capitulino On 03/09/2011 07:55 AM, Avi Kivity wrote: > On 03/09/2011 03:51 PM, Anthony Liguori wrote: >>>>> { execute: 'write-keystore' arguments: { 'key': 'foo', 'value': >>>>> 'bar' } } >>>> >>>> This is coming from the guest? >>> >>> Yes. >> >> >> So what about: >> >> { 'KeyStore': { '*foo': 'str', '*otherkey': 'str' } } >> [ 'guest-write-keystore', { 'keystore': 'KeyStore' }, 'none' ] >> >> { 'GUEST_UPDATE_KEYSTORE': { 'keys': [ 'str' ] } } > > (why the CAPS?) Sad to say, but legacy. That's how we do events today. >> >> In this model, the key store is actually stored in the guest. If the >> guest wants the latest version of a value, it sends an event to get >> keys updated. The host can update keys at any point in time. > > This survives live migration, but not guest reboots or crashes. Right, management tool (or QEMU) needs to keep a copy if it's to survive reset. But since we don't have a concrete use-case, I'm really just trying to show that we don't need bidirectional RPC for these types of things. Regards, Anthony Liguori