- 05 9月, 2013 9 次提交
-
-
由 Jim Fehlig 提交于
Change libxlGetAutoballoonConf() function to return an int for success/failure, and fail if regcomp fails.
-
由 Eric Blake 提交于
Recent patches to fix handling of Ctrl-C when interacting with ssh are not portable to mingw, which lacks termios handling. The simplest solution is to just compile that code out, and if someone ever appears that has a serious interest in getting virsh fully functional even with ssh connections, they can provide patches at that time. * tools/virsh.h (_vshControl): Make termattr conditional. * tools/virsh.c (vshTTYIsInterruptCharacter) (vshTTYDisableInterrupt, vshTTYRestore, cfmakeraw, vshTTYMakeRaw) (main): Likewise. Signed-off-by: NEric Blake <eblake@redhat.com>
-
由 Jim Fehlig 提交于
John Ferlan reported the following Coverity warning: In libxlDomainCoreDump() Coverity has noted a FORWARD_NULL reference: 2004 if ((flags & VIR_DUMP_CRASH) && !vm->persistent) { 2005 virDomainObjListRemove(driver->domains, vm); (20) Event assign_zero: Assigning: "vm" = "NULL". Also see events: [var_deref_model] 2006 vm = NULL; 2007 } 2008 2009 ret = 0; 2010 2011 cleanup_unpause: (21) Event var_deref_model: Passing null pointer "vm" to function "virDomainObjIsActive(virDomainObjPtr)", which dereferences it. [details] Also see events: [assign_zero] 2012 if (virDomainObjIsActive(vm) && paused) { 2013 if (libxl_domain_unpause(priv->ctx, dom->id) != 0) { 2014 virReportError(VIR_ERR_INTERNAL_ERROR, Removing the vm from domain obj list and setting it to NULL can be done in the previous 'if (flags & VIR_DUMP_CRASH)' conditional. Fix the Coverity warning by ensuring vm is not NULL before testing if it is still active.
-
由 Eric Blake 提交于
Commit ba5f3c7c moved virtualBox support into libvirtd, but the spec file was still unconditionally requesting it even when not building the server side. Thankfully there were no ill effects for a client_only build, as most uses of %{with_vbox} were guarded by %{with_libvirtd}; but we might as well avoid confusion by more closely matching the makefile. * libvirt.spec.in (with_vbox): Hoist to server conditionals. Signed-off-by: NEric Blake <eblake@redhat.com>
-
由 Eric Blake 提交于
daemon/Makefile.am installs a .policy file if WITH_LIBVIRTD and WITH_POLKIT are both set. src/Makefile.am, on the other hand, installs a .policy file if WITH_POLKIT1 is set, but without checking WITH_LIBVIRTD. When running 'make rpm' with client_only manually set, on a Fedora 19 box, that leads to a failure: RPM build errors: Installed (but unpackaged) file(s) found: /usr/share/polkit-1/actions/org.libvirt.api.policy Fix it by adding another conditional. * src/Makefile.am (polkitaction_DATA): Make conditional. Signed-off-by: NEric Blake <eblake@redhat.com>
-
由 Eric Blake 提交于
'make rpm' with client_local set to 1 (by manual modification, or with RHEL 5 on s390) warns: RPM build errors: Installed (but unpackaged) file(s) found: /etc/libvirt/nwfilter/allow-arp.xml /etc/libvirt/nwfilter/allow-dhcp-server.xml /etc/libvirt/nwfilter/allow-dhcp.xml /etc/libvirt/nwfilter/allow-incoming-ipv4.xml /etc/libvirt/nwfilter/allow-ipv4.xml /etc/libvirt/nwfilter/clean-traffic.xml /etc/libvirt/nwfilter/no-arp-ip-spoofing.xml /etc/libvirt/nwfilter/no-arp-mac-spoofing.xml /etc/libvirt/nwfilter/no-arp-spoofing.xml /etc/libvirt/nwfilter/no-ip-multicast.xml /etc/libvirt/nwfilter/no-ip-spoofing.xml /etc/libvirt/nwfilter/no-mac-broadcast.xml /etc/libvirt/nwfilter/no-mac-spoofing.xml /etc/libvirt/nwfilter/no-other-l2-traffic.xml /etc/libvirt/nwfilter/no-other-rarp-traffic.xml /etc/libvirt/nwfilter/qemu-announce-self-rarp.xml /etc/libvirt/nwfilter/qemu-announce-self.xml /usr/share/polkit-1/actions/org.libvirt.api.policy The bulk of these are fixed with this patch. * examples/xml/nwfilter/Makefile.am (install-data-local) (uninstall-local): Make conditional. Signed-off-by: NEric Blake <eblake@redhat.com>
-
由 Eric Blake 提交于
An rpm build with client_only set to 1 (for example, RHEL 5 on s390, or by modifying libvirt.spec.in) failed with TEST: fdstreamtest 1) Stream read blocking ... OK 2) Stream read non-blocking ... Unexpected EOF block 0 want 128 FAILED 3) Stream write blocking ... OK 4) Stream write non-blocking ... Failed to finish stream: internal error: libvirt: error : cannot execute binary /home/eblake/rpmbuild/BUILD/libvirt-1.1.1/tests/../src/libvirt_iohelper: No such file or directory Since the test depends on something that was only built for WITH_LIBVIRTD (see src/Makefile.am), we must do the same for the test. * tests/Makefile.am (test_programs): Make fdstreamtest conditional. Signed-off-by: NEric Blake <eblake@redhat.com>
-
由 Eric Blake 提交于
'make rpm' failed if ~/.rpmmacros contains '%_without_lxc 1', which simulates the case of not having lxc available. RPM build errors: File not found: /home/eblake/rpmbuild/BUILDROOT/libvirt-1.1.1-1.fc19.x86_64/etc/libvirt/virt-login-shell.conf File not found by glob: /home/eblake/rpmbuild/BUILDROOT/libvirt-1.1.1-1.fc19.x86_64/usr/share/man/man1/virt-login-shell.1* File not found: /home/eblake/rpmbuild/BUILDROOT/libvirt-1.1.1-1.fc19.x86_64/usr/bin/virt-login-shell make: *** [rpm] Error 1 Reported by Dan Berrange. * libvirt.spec.in: Mark virt-login-shell as conditional on lxc. Signed-off-by: NEric Blake <eblake@redhat.com>
-
由 Doug Goldstein 提交于
When virGetUserEnt() and virGetGroupEnt() fail due to the uid or gid not existing on the machine they'll print a message like: $ virsh -c vbox:///session list error: failed to connect to the hypervisor error: Failed to find user record for uid '32655': Success The success at the end is a bit confusing. This changes it to: $ virsh -c vbox:///session list error: failed to connect to the hypervisor error: Failed to find user record for uid '32655'
-
- 04 9月, 2013 25 次提交
-
-
由 Eric Blake 提交于
Automake has builtin support to prevent botched conditional nesting, but only if you use: if FOO else !FOO endif !FOO An example error message when using the wrong name: daemon/Makefile.am:378: error: else reminder (LIBVIRT_INIT_SCRIPT_SYSTEMD_TRUE) incompatible with current conditional: LIBVIRT_INIT_SCRIPT_SYSTEMD_FALSE daemon/Makefile.am:381: error: endif reminder (LIBVIRT_INIT_SCRIPT_SYSTEMD_TRUE) incompatible with current conditional: LIBVIRT_INIT_SCRIPT_SYSTEMD_FALSE As our makefiles tend to have quite a bit of nested conditionals, it's better to take advantage of the benefits of the build system double-checking that our conditionals are well-nested, but that requires a syntax check to enforce our usage style. Alas, unlike C preprocessor and spec files, we can't use indentation to make it easier to see how deeply nesting goes. * cfg.mk (sc_makefile_conditionals): New rule. * daemon/Makefile.am: Enforce the style. * gnulib/tests/Makefile.am: Likewise. * python/Makefile.am: Likewise. * src/Makefile.am: Likewise. * tests/Makefile.am: Likewise. * tools/Makefile.am: Likewise. Signed-off-by: NEric Blake <eblake@redhat.com>
-
由 Martin Kletzander 提交于
-
由 Daniel P. Berrange 提交于
The 'uuid' field in virDomainDefPtr is not a pointer, it is a fixed length array. Calling VIR_ALLOC on it is thus wrong and leaks memory. Signed-off-by: NDaniel P. Berrange <berrange@redhat.com>
-
由 Daniel P. Berrange 提交于
The 'libvirt_lxc_api' variable is intended to allow apps to query the location of the API XML file for libvirt_lxc.so Signed-off-by: NDaniel P. Berrange <berrange@redhat.com>
-
由 Nehal J Wani 提交于
Fixes for argument layouts of various functions in daemon/remote.c
-
由 Peter Krempa 提交于
Commit 50348e6e reused the code to remove the hostdev portion of a network definition on multiple places but forgot to take into account that sometimes the "actual" network is passed and in some cases the parent of that. This patch uses the virDomainNetGetActualHostdev() helper to acquire the correct pointer all the time while removing the hostdev portion from the list.
-
由 Jiri Denemark 提交于
https://bugzilla.redhat.com/show_bug.cgi?id=999352 Since commit v1.0.5-56-g449e6b1b (Pull parsing of migration xml up into QEMU driver APIs) any attempt to rename a domain during migration fails with the following error message: internal error Incoming cookie data had unexpected name DOM vs DOM2 This is because migration cookies always use the original domain name and the mentioned commit failed to propagate the name back to qemuMigrationPrepareAny.
-
由 Michal Privoznik 提交于
The @qemunbd variable can be used uninitialized.
-
由 Michal Privoznik 提交于
The @profile_name variable can be used uninitialized.
-
由 Jim Fehlig 提交于
Change source file copyright notice to prevailing libvirt style.
-
由 Jim Fehlig 提交于
Similar to the QEMU and LXC drivers, add a helper function to lookup a domain, and use it instead of much copy and paste.
-
由 Jim Fehlig 提交于
Now that most fields of libxlDriverPrivate struct are immutable or self-locking, there is no need to acquire the driver lock in much of the libxl driver.
-
由 Jim Fehlig 提交于
Move the libxl driver lock/unlock functions from libxl_driver.c to libxl_conf.h so they can be used by other source files.
-
由 Jim Fehlig 提交于
Similar to the QEMU and LXC drivers, annotate the fields of libxlDriverPrivate struct to indicate the locking rules for their use.
-
由 Jim Fehlig 提交于
-
由 Jim Fehlig 提交于
The libxlDriverPrivate struct contains an variety of data with varying access needs. Similar to the QEMU and LXC drivers, move all the static config data into a dedicated libxlDriverConfig object. The only locking requirement is to hold the driver lock while obtaining an instance of libxlDriverConfig. Once a reference is held on the config object, it can be used completely lockless since it is immutable.
-
由 Jim Fehlig 提交于
libxlDomainGetInfo() uses the driver-wide libxl ctx when it would be more appropriate to use the per-domain ctx associated with the domain. Switch to using the per-domain libxl ctx.
-
由 Jim Fehlig 提交于
libxlMakeDomCreateInfo() uses the driver-wide libxl ctx when it would be more appropriate to use the per-domain ctx associated with the domain. Switch to using the per-domain libxl ctx.
-
由 Jim Fehlig 提交于
libxl version info is static data as far as the libxl driver is concerned, so retrieve this info when the driver is initialized and stash it in the libxlDriverPrivate object. Subsequently use the stashed info instead of repeatedly calling libxl_get_version_info().
-
由 Jim Fehlig 提交于
Detect early on in libxl driver initialization if the driver should be loaded at all, avoiding needless initialization steps that only have to be undone later. While at it, move the detection to a helper function to improve readability. After detecting that the driver should be loaded, subsequent failures such as initializing the log stream, allocating libxl ctx, etc. should be treated as failure to initialize the driver.
-
由 Jim Fehlig 提交于
Create libxl_domain.[ch] and move all functions operating on libxlDomainObjPrivate to these files. This will be useful for future patches that e.g. add job support for libxlDomainObjPrivate.
-
由 Jim Fehlig 提交于
Detecting whether or not to autoballoon is configuration related, so move the code to libxl_conf.
-
由 Eric Blake 提交于
Bug introduced in commit 5c6ff422; 'make dist' fails: make[3]: Entering directory `/home/eblake/libvirt-tmp/build3/examples/python' make[3]: *** No rule to make target `topoology.py', needed by `distdir'. Stop. make[3]: Leaving directory `/home/eblake/libvirt-tmp/build3/examples/python' * examples/python/Makefile.am (EXTRA_DIST): Spell topology right. Signed-off-by: NEric Blake <eblake@redhat.com>
-
由 John Ferlan 提交于
New Coverity release found a couple of error paths where memory would be leaked in an error/goto path before being properly handled.
-
由 John Ferlan 提交于
New coverity installation determined that the muliple if condition for "*Alloc" and "*AppendToList" could fail during AppendToList thus leaking memory.
-
- 03 9月, 2013 6 次提交
-
-
由 Michal Privoznik 提交于
The test should refer to Virtlockd.lns, which is the name of the module + lens in virtlockd.aug.
-
由 Peter Krempa 提交于
Add a demo script originally written by Amador Pahim to parse topology of the host from data provided in the capabilities XML.
-
由 Peter Krempa 提交于
Man page for signal states: "The effects of signal() in a multithreaded process are unspecified." Switch signal() to sigaction in virsh console code.
-
由 Peter Krempa 提交于
Move the function to virsh.c to the rest of the TTY managing functions and change the code so that it mirrors the rest.
-
由 Peter Krempa 提交于
-
由 Michal Privoznik 提交于
Currently, kernel supports up to 8 queues for a multiqueue tap device. However, if user tries to enter a huge number (e.g. one million) the tap allocation fails, as expected. But what is not expected is the log full of warnings: warning : virFileClose:83 : Tried to close invalid fd 0 The problem is, upon error we iterate over an array of FDs (handlers to queues) and VIR_FORCE_CLOSE() over each item. However, the array is pre-filled with zeros. Hence, we repeatedly close stdin. Ouch. But there's more. The queues allocation is done in virNetDevTapCreate() which cleans up the FDs in case of error. Then, its caller, the virNetDevTapCreateInBridgePort() iterates over the FD array and tries to close them too. And so does qemuNetworkIfaceConnect() and qemuBuildInterfaceCommandLine().
-