|
|
c480ed |
From 2544ab6ac5b788d2df319afaef8d495409aa7b32 Mon Sep 17 00:00:00 2001
|
|
|
c480ed |
Message-Id: <2544ab6ac5b788d2df319afaef8d495409aa7b32@dist-git>
|
|
|
c480ed |
From: Peter Krempa <pkrempa@redhat.com>
|
|
|
c480ed |
Date: Tue, 30 Jul 2019 16:04:51 +0200
|
|
|
c480ed |
Subject: [PATCH] util: command: Ignore bitmap errors when enumerating file
|
|
|
c480ed |
descriptors to close
|
|
|
c480ed |
MIME-Version: 1.0
|
|
|
c480ed |
Content-Type: text/plain; charset=UTF-8
|
|
|
c480ed |
Content-Transfer-Encoding: 8bit
|
|
|
c480ed |
|
|
|
c480ed |
virCommandMassCloseGetFDsLinux fails when running libvird on valgrind
|
|
|
c480ed |
with the following message:
|
|
|
c480ed |
|
|
|
c480ed |
libvirt: error : internal error: unable to set FD as open: 1024
|
|
|
c480ed |
|
|
|
c480ed |
This is because valgrind opens few file descriptors beyond the limit:
|
|
|
c480ed |
|
|
|
c480ed |
65701125 lr-x------. 1 root root 64 Jul 18 14:48 1024 -> /home/pipo/build/libvirt/gcc/src/.libs/libvirtd
|
|
|
c480ed |
65701126 lrwx------. 1 root root 64 Jul 18 14:48 1025 -> '/tmp/valgrind_proc_3849_cmdline_186612e3 (deleted)'
|
|
|
c480ed |
65701127 lrwx------. 1 root root 64 Jul 18 14:48 1026 -> '/tmp/valgrind_proc_3849_auxv_186612e3 (deleted)'
|
|
|
c480ed |
65701128 lrwx------. 1 root root 64 Jul 18 14:48 1027 -> /dev/pts/11
|
|
|
c480ed |
65701129 lr-x------. 1 root root 64 Jul 18 14:48 1028 -> 'pipe:[65689522]'
|
|
|
c480ed |
65701130 l-wx------. 1 root root 64 Jul 18 14:48 1029 -> 'pipe:[65689522]'
|
|
|
c480ed |
65701131 lr-x------. 1 root root 64 Jul 18 14:48 1030 -> /tmp/vgdb-pipe-from-vgdb-to-3849-by-root-on-angien
|
|
|
c480ed |
|
|
|
c480ed |
Ignore bitmap errors in this case since we'd leak those FD's anyways in
|
|
|
c480ed |
the previous scenario.
|
|
|
c480ed |
|
|
|
c480ed |
Signed-off-by: Peter Krempa <pkrempa@redhat.com>
|
|
|
c480ed |
Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
|
|
|
c480ed |
(cherry picked from commit 728343983787cbd4d7ae8fa2007a157bb140f02a)
|
|
|
c480ed |
|
|
|
c480ed |
Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1721434
|
|
|
c480ed |
|
|
|
c480ed |
Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
|
|
|
c480ed |
Message-Id: <b10f29e40efb516e15a053c2e3aa8963c3ea9715.1564495366.git.mprivozn@redhat.com>
|
|
|
c480ed |
Reviewed-by: Ján Tomko <jtomko@redhat.com>
|
|
|
c480ed |
---
|
|
|
c480ed |
src/util/vircommand.c | 7 +------
|
|
|
c480ed |
1 file changed, 1 insertion(+), 6 deletions(-)
|
|
|
c480ed |
|
|
|
c480ed |
diff --git a/src/util/vircommand.c b/src/util/vircommand.c
|
|
|
c480ed |
index 2353a4a554..dfc7e5428b 100644
|
|
|
c480ed |
--- a/src/util/vircommand.c
|
|
|
c480ed |
+++ b/src/util/vircommand.c
|
|
|
c480ed |
@@ -519,12 +519,7 @@ virCommandMassCloseGetFDsLinux(virCommandPtr cmd ATTRIBUTE_UNUSED,
|
|
|
c480ed |
goto cleanup;
|
|
|
c480ed |
}
|
|
|
c480ed |
|
|
|
c480ed |
- if (virBitmapSetBit(fds, fd) < 0) {
|
|
|
c480ed |
- virReportError(VIR_ERR_INTERNAL_ERROR,
|
|
|
c480ed |
- _("unable to set FD as open: %d"),
|
|
|
c480ed |
- fd);
|
|
|
c480ed |
- goto cleanup;
|
|
|
c480ed |
- }
|
|
|
c480ed |
+ ignore_value(virBitmapSetBit(fds, fd));
|
|
|
c480ed |
}
|
|
|
c480ed |
|
|
|
c480ed |
if (rc < 0)
|
|
|
c480ed |
--
|
|
|
c480ed |
2.22.0
|
|
|
c480ed |
|