From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:40063) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XRLOr-00021j-Fo for qemu-devel@nongnu.org; Tue, 09 Sep 2014 09:24:07 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1XRLOj-0008Gy-Po for qemu-devel@nongnu.org; Tue, 09 Sep 2014 09:24:01 -0400 Received: from mx1.redhat.com ([209.132.183.28]:25646) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XRLOj-0008Gs-J9 for qemu-devel@nongnu.org; Tue, 09 Sep 2014 09:23:53 -0400 Received: from int-mx10.intmail.prod.int.phx2.redhat.com (int-mx10.intmail.prod.int.phx2.redhat.com [10.5.11.23]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id s89DNqJT007984 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=FAIL) for ; Tue, 9 Sep 2014 09:23:53 -0400 Date: Tue, 9 Sep 2014 15:23:50 +0200 From: Kevin Wolf Message-ID: <20140909132350.GJ4847@noname.str.redhat.com> References: <20140829160727.69f66ecd@redhat.com> <20140908104217.48f2354a@redhat.com> <20140908153318.GH4297@noname.redhat.com> <20140908125701.3be785e9@redhat.com> <20140909082733.GD4847@noname.str.redhat.com> <540EF48B.5090705@redhat.com> <20140909084353.454cc889@redhat.com> <540EF82E.60602@redhat.com> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="LQksG6bCIzRHxTLp" Content-Disposition: inline In-Reply-To: <540EF82E.60602@redhat.com> Subject: Re: [Qemu-devel] [PATCH] block: extend BLOCK_IO_ERROR event with nospace indicator List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Eric Blake Cc: fromani@redhat.com, armbru@redhat.com, qemu-devel@nongnu.org, Luiz Capitulino --LQksG6bCIzRHxTLp Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Am 09.09.2014 um 14:53 hat Eric Blake geschrieben: > On 09/09/2014 06:43 AM, Luiz Capitulino wrote: >=20 > >> Enhancing query-block in addition to the event makes sense, if it is > >> easy enough to do. At this point, we are talking about debugging aids, > >> so as long as they are documented appropriately, I won't be too fussy. > >=20 > > OK, but I'm wondering if we need to add the string field to both, > > BLOCK_IO_ERROR and query-block, or only to one to the other. > >=20 > > In my opinion, we should only add it to BLOCK_IO_ERROR if libvirt is > > going to consume. Otherwise, it makes more sense to add it to query-blo= ck > > because that's where we'll meet the user. > >=20 > > Btw, by "consume" I mean read it and make it available to libvirt clien= ts > > so that they can print it to their users. If we don't want libvirt to > > consume that field then I think we should only add it to query-block and > > info block. >=20 > [For those not aware, qemu built for downstream RHEL already has an > error string in the __com.redhat_ namespace; we're trying to figure out > what upstream should have so that downstream doesn't have to perpetually > maintain an extension] >=20 > Downstream libvirt does not currently consume any error string. With > downstream qemu, the _only_ way to get the error string in the event is > to parse libvirt logs, or use upstream libvirt with its backdoor of > 'virsh qemu-monitor-event' (through the explicitly unsupported > libvirt-qemu.so) to get at the raw event information. Changing libvirt > to expose such an error string to the end user would require a new > libvirt event number (the existing libvirt event is not extensible), so > existing clients would not be able to get at the information without > being recompiled to a new libvirt. >=20 > Since the whole point of this field is for debugging, I think that it is > sufficient to add it to JUST query-block, and not to the event. That > is, if the app on top of libvirt gets an error, in the common case, they > won't care about the message (it won't change how they act), and in the > debug case, a developer trying to learn more about what happened can do > their own query-block directly (via 'virsh qemu-monitor-command', also > in libvirt-qemu.so) rather than trying to wire up libvirt to pass > through an error string through a new event. You mention libvirt logs and I think that's an important point: If we move it to query-block, will we still get a log entry so that we can check this after the fact when only a log file is attached to a bug report, but we don't have a running guest? Kevin --LQksG6bCIzRHxTLp Content-Type: application/pgp-signature -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.22 (GNU/Linux) iQIcBAEBAgAGBQJUDv9mAAoJEH8JsnLIjy/WjCQQAKOkz9R3dyit75IIXZ0d5xTX QBKChPcDJYphJTea7CiGoLFlha7MiCmtyAfNwOnrO6EyZ97+FcvG/Bdv9lqpA6Yn CqpJDcJL+2RYUhaavWd9Imz0lcx3KT2pVRgaYJ6l61I/dvDn93SDFrl9+UkAvXya p8SNvioNkmZtdJviXzP8FWgF9ipqmaNEzqxkl4bNYfxOGixnJ9zD1dQo+vdmNRz6 9yDI1PivotQIKOlayWLoO34VNvjFz1xbLm1vxYzEmjakcRiC22r/CAIXeO+UNi12 fkIbLR58CxFcQ3hzMuMYUNAxPH/iK6wdI6Aljjqp96LkT68lHjyaOnRO1zuiaiPX nCauySx0vTIaAAf/zPNu9Qdt7wP5gFD/1wX9lhmJz4hcqQlcce7neNKgbROjEDCW ob2zsZHwrNC4dnCbLCTgeAw0PENkw+vFh4h0MvqrbJ55MY86eb8vx2CM6q2TRx/n h/4xtj+vdjXLTFBTD+ro8eMe3ktP8nt290FzA4Fk4+Ncoep5/T3B5WabjqQlItHW RiFqb4TMmScRVESPt2qQgYDXKvCcoXU7XfVhpVlJimxs/36odMUZnj0sxC0GZIAK l8+2zzG3DGsB+dQLRM2MjlfYmCYeI31rZO+1nWydB36BxkaA4cioJcf2PYii7DeF l7TvvaSjWv5UVRIgctFN =GAdi -----END PGP SIGNATURE----- --LQksG6bCIzRHxTLp--