We don't want tests to wait 5 seconds for an event which we know will never come. --- src/Makefile.am | 1 + src/qemu/qemu_hotplug.c | 10 ++++++---- src/qemu/qemu_hotplugpriv.h | 31 +++++++++++++++++++++++++++++++ 3 files changed, 38 insertions(+), 4 deletions(-) create mode 100644 src/qemu/qemu_hotplugpriv.h diff --git a/src/Makefile.am b/src/Makefile.am index 88dc5fe..3f410da 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -633,6 +633,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 \ diff --git a/src/qemu/qemu_hotplug.c b/src/qemu/qemu_hotplug.c index f8bcc9a..f9d75dc 100644 --- a/src/qemu/qemu_hotplug.c +++ b/src/qemu/qemu_hotplug.c @@ -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" @@ -53,6 +54,10 @@ #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, @@ -2679,9 +2684,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) @@ -2718,7 +2720,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 index 0000000..e4a1164 --- /dev/null +++ b/src/qemu/qemu_hotplugpriv.h @@ -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. + */ + +unsigned long long qemuDomainRemoveDeviceWaitTime; + +#endif /* __QEMU_HOTPLUGPRIV_H__ */ -- 1.8.3.2 -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list