On 05/30/2012 08:34 AM, Jiri Denemark wrote: > --- > src/util/virfile.c | 10 ++++++++++ > 1 file changed, 10 insertions(+) > > diff --git a/src/util/virfile.c b/src/util/virfile.c > index db3d737..bc7f2c9 100644 > --- a/src/util/virfile.c > +++ b/src/util/virfile.c > @@ -35,6 +35,7 @@ > #include "configmake.h" > #include "memory.h" > #include "virterror_internal.h" > +#include "logging.h" > > #define VIR_FROM_THIS VIR_FROM_NONE > #define virFileError(code, ...) \ > @@ -51,6 +52,15 @@ int virFileClose(int *fdptr, bool preserve_errno) > if (preserve_errno) > saved_errno = errno; > rc = close(*fdptr); > + if (rc < 0) { > + if (errno != EBADF) { > + char ebuf[1024] ATTRIBUTE_UNUSED; > + VIR_DEBUG("Failed to close fd %d: %d", > + *fdptr, virStrerror(errno, ebuf, sizeof(ebuf))); I think we _also_ need to log EBADF errors, those are usually the sign of developer bugs, as you are probably guilty of a double-close race. In fact, I think EBADF should be logged with higher severity than VIR_DEBUG, as we want to see that right away. -- Eric Blake eblake@xxxxxxxxxx +1-919-301-3266 Libvirt virtualization library http://libvirt.org
Attachment:
signature.asc
Description: OpenPGP digital signature
-- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list