From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([140.186.70.92]:37896) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RzsNe-0004UP-15 for qemu-devel@nongnu.org; Tue, 21 Feb 2012 11:16:03 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1RzsNZ-0001JX-VH for qemu-devel@nongnu.org; Tue, 21 Feb 2012 11:15:53 -0500 Received: from mx1.redhat.com ([209.132.183.28]:51930) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RzsNZ-0001JA-I6 for qemu-devel@nongnu.org; Tue, 21 Feb 2012 11:15:49 -0500 Received: from int-mx09.intmail.prod.int.phx2.redhat.com (int-mx09.intmail.prod.int.phx2.redhat.com [10.5.11.22]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id q1LGFl76003762 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK) for ; Tue, 21 Feb 2012 11:15:47 -0500 Message-ID: <4F43C331.7090000@redhat.com> Date: Tue, 21 Feb 2012 09:15:45 -0700 From: Eric Blake MIME-Version: 1.0 References: <1329686886-6853-1-git-send-email-alevy@redhat.com> <1329686886-6853-6-git-send-email-alevy@redhat.com> <4F422F5C.9060202@redhat.com> <4F42BB27.6070504@redhat.com> <20120221081948.GC6476@garlic> In-Reply-To: <20120221081948.GC6476@garlic> Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="------------enig2F57F4C398DDDB89292E0836" Subject: Re: [Qemu-devel] [RFC 5/7] qxl-render: call ppm_save on callback List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Gerd Hoffmann , qemu-devel@nongnu.org, elmarco@redhat.com, Luiz Capitulino This is an OpenPGP/MIME signed message (RFC 2440 and 3156) --------------enig2F57F4C398DDDB89292E0836 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable On 02/21/2012 01:19 AM, Alon Levy wrote: >>> (2) Async monitor command. Keeps interface and works nicely. A bun= ch >>> of QAPI bits tickled into master meanwhile, so we could look at >>> this again. Luiz? What is the status here? >>> >>> (3) Something like this patch + additionally introduce a >>> "your-screenshot-is-finished-now" qmp event. Will break existin= g >>> users too. But at least they can be adapted without requiring >>> some external, nonportable service like inotify ... >> >> Libvirt would want 3) - any command that becomes async also needs an >> event to tell us when the command is completed, so that libvirt can >> maintain the synchronous interface to the user (and/or expose a new fl= ag >> to allow the user to also benefit from the asynchronous command). >=20 > If I do 2) then libvirt won't notice because the monitor command will > block as usual. Only change would be internal, qemu would continue > processing other fds in the interim. I guess I misunderstood things then. I was assuming that an async monitor command would mean that the monitor command would return control to libvirt prior to the screenshot file being completely written; but libvirt promises a synchronous interface to callers (that is, a caller using virDomainScreenshot won't get a response until the screenshot file has started streaming, but that means the file had better be consistent, and not something that gets modified after libvirt has streamed it to the caller). I don't particularly care which solution we have, as long as the overall result is still something where libvirt has guarantees that the complete screenshot file is available before libvirt then hands control of that file back to the caller. --=20 Eric Blake eblake@redhat.com +1-919-301-3266 Libvirt virtualization library http://libvirt.org --------------enig2F57F4C398DDDB89292E0836 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.12 (GNU/Linux) Comment: Public key at http://people.redhat.com/eblake/eblake.gpg Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/ iQEcBAEBCAAGBQJPQ8MxAAoJEKeha0olJ0NqvlsIAI8hbKPhWa1v9Nu8Zs8Vr6FN +2GIr2IckbmQzRgJH8GKth89RS7ZnLc76XqAcqinSDmMNgAzNj1bTR2LIFSSX86E oHhzeIcNnIBbJViGSJKzJeCWqhwbizgOKjvbBYMzfoOByPN5g6/pIDP7MjZz7VNI aT7XAKayeXvzBbt6qBHIVRTlB9jU9NdzWGG/5zUv5xAT10bGS7P130u6JAeLhS5v NdMG8OluRhn6c2OMDJqt07oftmODIOG3/RVMRDs8c9AwlG1sqzs7BT4AccCslg0Z QD/jyux7G1D04LKITmwI+x+5+KGcdWVQWfoibVFK3VHgK/FsmHjUFzuSxyiYbmo= =6nHX -----END PGP SIGNATURE----- --------------enig2F57F4C398DDDB89292E0836--