Message ID | 20200110194158.14190-2-vsementsov@virtuozzo.com |
---|---|
State | New |
Headers | show |
Series | error: auto propagated local_err part I | expand |
On Fri, 10 Jan 2020 22:41:48 +0300 Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com> wrote: > Signed-off-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com> > --- > Reviewed-by: Greg Kurz <groug@kaod.org> > CC: Cornelia Huck <cohuck@redhat.com> > CC: Eric Blake <eblake@redhat.com> > CC: Kevin Wolf <kwolf@redhat.com> > CC: Max Reitz <mreitz@redhat.com> > CC: Greg Kurz <groug@kaod.org> > CC: Stefan Hajnoczi <stefanha@redhat.com> > CC: Stefano Stabellini <sstabellini@kernel.org> > CC: Anthony Perard <anthony.perard@citrix.com> > CC: Paul Durrant <paul@xen.org> > CC: "Philippe Mathieu-Daudé" <philmd@redhat.com> > CC: Laszlo Ersek <lersek@redhat.com> > CC: Gerd Hoffmann <kraxel@redhat.com> > CC: Stefan Berger <stefanb@linux.ibm.com> > CC: Markus Armbruster <armbru@redhat.com> > CC: Michael Roth <mdroth@linux.vnet.ibm.com> > CC: qemu-block@nongnu.org > CC: xen-devel@lists.xenproject.org > > include/qapi/error.h | 26 ++++++++++++++++++++++++++ > 1 file changed, 26 insertions(+) > > diff --git a/include/qapi/error.h b/include/qapi/error.h > index ad5b6e896d..fa8d51fd6d 100644 > --- a/include/qapi/error.h > +++ b/include/qapi/error.h > @@ -309,6 +309,32 @@ void warn_reportf_err(Error *err, const char *fmt, ...) > void error_reportf_err(Error *err, const char *fmt, ...) > GCC_FMT_ATTR(2, 3); > > +/* > + * Functions to clean Error **errp: call corresponding Error *err cleaning > + * function an set pointer to NULL > + */ > +static inline void error_free_errp(Error **errp) > +{ > + assert(errp && *errp); > + error_free(*errp); > + *errp = NULL; > +} > + > +static inline void error_report_errp(Error **errp) > +{ > + assert(errp && *errp); > + error_report_err(*errp); > + *errp = NULL; > +} > + > +static inline void warn_report_errp(Error **errp) > +{ > + assert(errp && *errp); > + warn_report_err(*errp); > + *errp = NULL; > +} > + > + > /* > * Just like error_setg(), except you get to specify the error class. > * Note: use of error classes other than ERROR_CLASS_GENERIC_ERROR is
On 1/10/20 1:41 PM, Vladimir Sementsov-Ogievskiy wrote: > Signed-off-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com> > --- Sparse commit message; it might be nice (for future 'git log' greppability) to at least mention the names of the functions being added. > > +/* > + * Functions to clean Error **errp: call corresponding Error *err cleaning > + * function an set pointer to NULL s/ an/, then/ Missing a '.' at the end of the sentence. Otherwise, Reviewed-by: Eric Blake <eblake@redhat.com>
diff --git a/include/qapi/error.h b/include/qapi/error.h index ad5b6e896d..fa8d51fd6d 100644 --- a/include/qapi/error.h +++ b/include/qapi/error.h @@ -309,6 +309,32 @@ void warn_reportf_err(Error *err, const char *fmt, ...) void error_reportf_err(Error *err, const char *fmt, ...) GCC_FMT_ATTR(2, 3); +/* + * Functions to clean Error **errp: call corresponding Error *err cleaning + * function an set pointer to NULL + */ +static inline void error_free_errp(Error **errp) +{ + assert(errp && *errp); + error_free(*errp); + *errp = NULL; +} + +static inline void error_report_errp(Error **errp) +{ + assert(errp && *errp); + error_report_err(*errp); + *errp = NULL; +} + +static inline void warn_report_errp(Error **errp) +{ + assert(errp && *errp); + warn_report_err(*errp); + *errp = NULL; +} + + /* * Just like error_setg(), except you get to specify the error class. * Note: use of error classes other than ERROR_CLASS_GENERIC_ERROR is
Signed-off-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com> --- CC: Cornelia Huck <cohuck@redhat.com> CC: Eric Blake <eblake@redhat.com> CC: Kevin Wolf <kwolf@redhat.com> CC: Max Reitz <mreitz@redhat.com> CC: Greg Kurz <groug@kaod.org> CC: Stefan Hajnoczi <stefanha@redhat.com> CC: Stefano Stabellini <sstabellini@kernel.org> CC: Anthony Perard <anthony.perard@citrix.com> CC: Paul Durrant <paul@xen.org> CC: "Philippe Mathieu-Daudé" <philmd@redhat.com> CC: Laszlo Ersek <lersek@redhat.com> CC: Gerd Hoffmann <kraxel@redhat.com> CC: Stefan Berger <stefanb@linux.ibm.com> CC: Markus Armbruster <armbru@redhat.com> CC: Michael Roth <mdroth@linux.vnet.ibm.com> CC: qemu-block@nongnu.org CC: xen-devel@lists.xenproject.org include/qapi/error.h | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+)