From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel =?utf-8?B?UC4gQmVycmFuZ8Op?= Subject: Re: [Qemu-devel] [PATCH 15/16] os-posix: cleanup: Replace perror with error_report Date: Tue, 24 Apr 2018 16:18:30 +0100 Message-ID: <20180424151830.GI20310@redhat.com> References: <1524156319-11465-1-git-send-email-ian.jackson@eu.citrix.com> <1524156319-11465-16-git-send-email-ian.jackson@eu.citrix.com> <23263.17660.17771.980752@mariner.uk.xensource.com> Reply-To: Daniel =?utf-8?B?UC4gQmVycmFuZ8Op?= Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from us1-rack-dfw2.inumbo.com ([104.130.134.6]) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1fAziL-0007pn-Co for xen-devel@lists.xenproject.org; Tue, 24 Apr 2018 15:18:41 +0000 Content-Disposition: inline In-Reply-To: <23263.17660.17771.980752@mariner.uk.xensource.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" To: Ian Jackson Cc: Juergen Gross , Stefano Stabellini , Markus Armbruster , Michael Tokarev , qemu-devel@nongnu.org, Philippe =?utf-8?Q?Mathieu-Daud=C3=A9?= , Ross Lagerwall , Paolo Bonzini , Anthony PERARD , xen-devel@lists.xenproject.org, Alistair Francis List-Id: xen-devel@lists.xenproject.org T24gVHVlLCBBcHIgMjQsIDIwMTggYXQgMDM6NTM6NDhQTSArMDEwMCwgSWFuIEphY2tzb24gd3Jv dGU6Cj4gUGhpbGlwcGUgTWF0aGlldS1EYXVkw6kgd3JpdGVzICgiUmU6IFtRZW11LWRldmVsXSBb UEFUQ0ggMTUvMTZdIG9zLXBvc2l4OiBjbGVhbnVwOiBSZXBsYWNlIHBlcnJvciB3aXRoIGVycm9y X3JlcG9ydCIpOgo+ID4gT24gMDQvMTkvMjAxOCAwMTo0NSBQTSwgSWFuIEphY2tzb24gd3JvdGU6 Cj4gPiA+IC0gICAgICAgIHBlcnJvcigibWxvY2thbGwiKTsKPiA+ID4gKyAgICAgICAgZXJyb3Jf cmVwb3J0KCJtbG9ja2FsbDogJXMiLCBzdHJlcnJvcihlcnJubykpOwo+ID4gPiAgICAgIH0KPiA+ ID4gIAo+ID4gPiAgICAgIHJldHVybiByZXQ7Cj4gPiAKPiA+IFRoaW5raW5nIGxvdWRseSwgbWF5 YmUgd2UgY2FuIHJlZmFjdG9yIGFzIGVycm9yX3JlcG9ydF9lcnJubyhjb25zdCBjaGFyCj4gPiAq ZGVzYykuLi4KPiAKPiBnaXQtZ3JlcCAnZXJyb3JfcmVwb3J0LiplcnJubycgc2hvd3MgYSBsb3Qg b2YgY2FsbCBzaXRlcyB0aGF0IGRvCj4gc29tZXRoaW5nIG1vcmUgZXhjaXRpbmcgdGhhbiBjb25z dCBjaGFyICpkZXNjIHdvdWxkIHN1cHBvcnQuCj4gCj4gSSB0aGluayB0aGUgcmlnaHQgYXBwcm9h Y2ggd291bGQgYmUKPiAKPiAgLSBzdGF0aWMgdm9pZCB2cmVwb3J0KHJlcG9ydF90eXBlIHR5cGUs IGNvbnN0IGNoYXIgKmZtdCwgdmFfbGlzdCBhcCkKPiAgKyBzdGF0aWMgdm9pZCB2cmVwb3J0KHJl cG9ydF90eXBlIHR5cGUsIGludCBlcnJub3ZhbCwgY29uc3QgY2hhciAqZm10LCB2YV9saXN0IGFw KQo+IC4uLgo+ICArICAgICBpZiAoZXJybm92YWwgPj0gMCkgewo+ICArICAgICAgICAgZXJyb3Jf cHJpbnRmKCI6ICVzIiwgc3RyZXJyb3IoZXJybm92YWwpOwo+ICArICAgICB9Cj4gCj4gYW5kIHRo ZW4gYWRkIGJvdGgKPiAgIGVycm9yX3JlcG9ydF9lcnJubwo+ICAgZXJyb3JfdnJlcG9ydF9lcnJu bwo+IHdpdGggdGhlIG9idmlvdXMgc2VtYW50aWNzLgoKVGhhdCB3b3VsZCBiZSBuaWNlLCBiZWNh dXNlIHRoZW4gd2UgY2FuIG1ha2UgdGhlc2UgdHdvIGZ1bmN0aW9ucyBhY3R1YWxseQp1c2Ugc3Ry ZXJyb3JfcigpIGluc3RlYWQgb2Ygc3RyZXJyb3IoKSwgZm9yIHRocmVhZCBzYWZldHkgb24gYWxs IHBsYXRmb3Jtcy4KClJlZ2FyZHMsCkRhbmllbAotLSAKfDogaHR0cHM6Ly9iZXJyYW5nZS5jb20g ICAgICAtby0gICAgaHR0cHM6Ly93d3cuZmxpY2tyLmNvbS9waG90b3MvZGJlcnJhbmdlIDp8Cnw6 IGh0dHBzOi8vbGlidmlydC5vcmcgICAgICAgICAtby0gICAgICAgICAgICBodHRwczovL2ZzdG9w MTM4LmJlcnJhbmdlLmNvbSA6fAp8OiBodHRwczovL2VudGFuZ2xlLXBob3RvLm9yZyAgICAtby0g ICAgaHR0cHM6Ly93d3cuaW5zdGFncmFtLmNvbS9kYmVycmFuZ2UgOnwKCl9fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QK WGVuLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCmh0dHBzOi8vbGlzdHMueGVucHJvamVjdC5v cmcvbWFpbG1hbi9saXN0aW5mby94ZW4tZGV2ZWw= From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:44160) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fAziS-0004BA-8U for qemu-devel@nongnu.org; Tue, 24 Apr 2018 11:18:52 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1fAziO-0005N1-1n for qemu-devel@nongnu.org; Tue, 24 Apr 2018 11:18:48 -0400 Received: from mx3-rdu2.redhat.com ([66.187.233.73]:50170 helo=mx1.redhat.com) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1fAziN-0005KV-TW for qemu-devel@nongnu.org; Tue, 24 Apr 2018 11:18:43 -0400 Date: Tue, 24 Apr 2018 16:18:30 +0100 From: Daniel =?utf-8?B?UC4gQmVycmFuZ8Op?= Message-ID: <20180424151830.GI20310@redhat.com> Reply-To: Daniel =?utf-8?B?UC4gQmVycmFuZ8Op?= References: <1524156319-11465-1-git-send-email-ian.jackson@eu.citrix.com> <1524156319-11465-16-git-send-email-ian.jackson@eu.citrix.com> <23263.17660.17771.980752@mariner.uk.xensource.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: <23263.17660.17771.980752@mariner.uk.xensource.com> Content-Transfer-Encoding: quoted-printable Subject: Re: [Qemu-devel] [PATCH 15/16] os-posix: cleanup: Replace perror with error_report List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Ian Jackson Cc: Philippe =?utf-8?Q?Mathieu-Daud=C3=A9?= , Juergen Gross , Stefano Stabellini , Markus Armbruster , Michael Tokarev , qemu-devel@nongnu.org, Alistair Francis , Ross Lagerwall , xen-devel@lists.xenproject.org, Anthony PERARD , Paolo Bonzini On Tue, Apr 24, 2018 at 03:53:48PM +0100, Ian Jackson wrote: > Philippe Mathieu-Daud=C3=A9 writes ("Re: [Qemu-devel] [PATCH 15/16] os-= posix: cleanup: Replace perror with error_report"): > > On 04/19/2018 01:45 PM, Ian Jackson wrote: > > > - perror("mlockall"); > > > + error_report("mlockall: %s", strerror(errno)); > > > } > > > =20 > > > return ret; > >=20 > > Thinking loudly, maybe we can refactor as error_report_errno(const ch= ar > > *desc)... >=20 > git-grep 'error_report.*errno' shows a lot of call sites that do > something more exciting than const char *desc would support. >=20 > I think the right approach would be >=20 > - static void vreport(report_type type, const char *fmt, va_list ap) > + static void vreport(report_type type, int errnoval, const char *fmt,= va_list ap) > ... > + if (errnoval >=3D 0) { > + error_printf(": %s", strerror(errnoval); > + } >=20 > and then add both > error_report_errno > error_vreport_errno > with the obvious semantics. That would be nice, because then we can make these two functions actually use strerror_r() instead of strerror(), for thread safety on all platform= s. Regards, Daniel --=20 |: https://berrange.com -o- https://www.flickr.com/photos/dberran= ge :| |: https://libvirt.org -o- https://fstop138.berrange.c= om :| |: https://entangle-photo.org -o- https://www.instagram.com/dberran= ge :|