]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
qemu: Let tests override waiting time for device unplug
authorJiri Denemark <jdenemar@redhat.com>
Fri, 26 Jul 2013 10:18:01 +0000 (12:18 +0200)
committerJiri Denemark <jdenemar@redhat.com>
Mon, 26 Aug 2013 14:09:55 +0000 (16:09 +0200)
We don't want tests to wait 5 seconds for an event which we know will
never come.

src/Makefile.am
src/qemu/qemu_hotplug.c
src/qemu/qemu_hotplugpriv.h [new file with mode: 0644]

index 8ced2ecb0adda16d3678dae9df4dc5ccbfeb54c6..d8b943d9dcc4c7b7a8471d408274e37605bf4aa9 100644 (file)
@@ -636,6 +636,7 @@ QEMU_DRIVER_SOURCES =                                                       \
                qemu/qemu_cgroup.c qemu/qemu_cgroup.h                   \
                qemu/qemu_hostdev.c qemu/qemu_hostdev.h                 \
                qemu/qemu_hotplug.c qemu/qemu_hotplug.h                 \
+               qemu/qemu_hotplugpriv.h                                 \
                qemu/qemu_conf.c qemu/qemu_conf.h                       \
                qemu/qemu_process.c qemu/qemu_process.h                 \
                qemu/qemu_processpriv.h                                 \
index 0cc49776933777b7d20263039fb4aa202681d4a4..2ac1fe5deb91b751136ef03931884b39c841d721 100644 (file)
@@ -25,6 +25,7 @@
 #include <config.h>
 
 #include "qemu_hotplug.h"
+#include "qemu_hotplugpriv.h"
 #include "qemu_capabilities.h"
 #include "qemu_domain.h"
 #include "qemu_command.h"
 #define VIR_FROM_THIS VIR_FROM_QEMU
 #define CHANGE_MEDIA_RETRIES 10
 
+/* Wait up to 5 seconds for device removal to finish. */
+unsigned long long qemuDomainRemoveDeviceWaitTime = 1000ull * 5;
+
+
 int qemuDomainChangeEjectableMedia(virQEMUDriverPtr driver,
                                    virDomainObjPtr vm,
                                    virDomainDiskDefPtr disk,
@@ -2682,9 +2687,6 @@ qemuDomainRemoveDevice(virQEMUDriverPtr driver,
 }
 
 
-/* Wait up to 5 seconds for device removal to finish. */
-#define QEMU_REMOVAL_WAIT_TIME (1000ull * 5)
-
 static void
 qemuDomainMarkDeviceForRemoval(virDomainObjPtr vm,
                                virDomainDeviceInfoPtr info)
@@ -2721,7 +2723,7 @@ qemuDomainWaitForDeviceRemoval(virDomainObjPtr vm)
 
     if (virTimeMillisNow(&until) < 0)
         return -1;
-    until += QEMU_REMOVAL_WAIT_TIME;
+    until += qemuDomainRemoveDeviceWaitTime;
 
     while (priv->unpluggingDevice) {
         if (virCondWaitUntil(&priv->unplugFinished,
diff --git a/src/qemu/qemu_hotplugpriv.h b/src/qemu/qemu_hotplugpriv.h
new file mode 100644 (file)
index 0000000..c1653ee
--- /dev/null
@@ -0,0 +1,31 @@
+/*
+ * qemu_hotplugpriv.h: private declarations for QEMU device hotplug management
+ *
+ * Copyright (C) 2013 Red Hat, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.  If not, see
+ * <http://www.gnu.org/licenses/>.
+ *
+ */
+
+#ifndef __QEMU_HOTPLUGPRIV_H__
+# define __QEMU_HOTPLUGPRIV_H__
+
+/*
+ * This header file should never be used outside unit tests.
+ */
+
+extern unsigned long long qemuDomainRemoveDeviceWaitTime;
+
+#endif /* __QEMU_HOTPLUGPRIV_H__ */