From: Peter Krempa Date: Thu, 18 Jul 2019 13:05:35 +0000 (+0200) Subject: util: command: Ignore bitmap errors when enumerating file descriptors to close X-Git-Tag: v5.6.0-rc1~174 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=728343983787cbd4d7ae8fa2007a157bb140f02a;p=thirdparty%2Flibvirt.git util: command: Ignore bitmap errors when enumerating file descriptors to close virCommandMassCloseGetFDsLinux fails when running libvird on valgrind with the following message: libvirt: error : internal error: unable to set FD as open: 1024 This is because valgrind opens few file descriptors beyond the limit: 65701125 lr-x------. 1 root root 64 Jul 18 14:48 1024 -> /home/pipo/build/libvirt/gcc/src/.libs/libvirtd 65701126 lrwx------. 1 root root 64 Jul 18 14:48 1025 -> '/tmp/valgrind_proc_3849_cmdline_186612e3 (deleted)' 65701127 lrwx------. 1 root root 64 Jul 18 14:48 1026 -> '/tmp/valgrind_proc_3849_auxv_186612e3 (deleted)' 65701128 lrwx------. 1 root root 64 Jul 18 14:48 1027 -> /dev/pts/11 65701129 lr-x------. 1 root root 64 Jul 18 14:48 1028 -> 'pipe:[65689522]' 65701130 l-wx------. 1 root root 64 Jul 18 14:48 1029 -> 'pipe:[65689522]' 65701131 lr-x------. 1 root root 64 Jul 18 14:48 1030 -> /tmp/vgdb-pipe-from-vgdb-to-3849-by-root-on-angien Ignore bitmap errors in this case since we'd leak those FD's anyways in the previous scenario. Signed-off-by: Peter Krempa Reviewed-by: Michal Privoznik --- diff --git a/src/util/vircommand.c b/src/util/vircommand.c index 5141611ca4..4501c96bbf 100644 --- a/src/util/vircommand.c +++ b/src/util/vircommand.c @@ -446,12 +446,7 @@ virCommandMassCloseGetFDsLinux(virCommandPtr cmd ATTRIBUTE_UNUSED, goto cleanup; } - if (virBitmapSetBit(fds, fd) < 0) { - virReportError(VIR_ERR_INTERNAL_ERROR, - _("unable to set FD as open: %d"), - fd); - goto cleanup; - } + ignore_value(virBitmapSetBit(fds, fd)); } if (rc < 0)