On Thu, Aug 01, 2013 at 09:28:22PM +0200, Jiri Denemark wrote: > 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; Don't you need 'extern' here otherwise every .c file that includes this header will allocate storage a new copy of this variable. Daniel -- |: http://berrange.com -o- http://www.flickr.com/photos/dberrange/ :| |: http://libvirt.org -o- http://virt-manager.org :| |: http://autobuild.org -o- http://search.cpan.org/~danberr/ :| |: http://entangle-photo.org -o- http://live.gnome.org/gtk-vnc :| -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list