- 05 9月, 2013 14 次提交
-
-
由 Daniel P. Berrange 提交于
The s390, ppc and arm CPU drivers never set the 'arch' field in their impl of cpuArchNodeData. This leads to error messages being reported from cpuDataFree later, due to trying to use VIR_ARCH_NONE. #0 virRaiseErrorFull (filename=filename@entry=0x76f94434 "cpu/cpu.c", funcname=funcname@entry=0x76f942dc <__FUNCTION__.18096> "cpuGetSubDriver", linenr=linenr@entry=58, domain=domain@entry=31, code=code@entry=1, level=level@entry=VIR_ERR_ERROR, str1=0x76f70e18 "internal error: %s", str2=str2@entry=0x7155f2ec "undefined hardware architecture", str3=str3@entry=0x0, int1=int1@entry=-1, int2=int2@entry=-1, fmt=0x76f70e18 "internal error: %s") at util/virerror.c:646 #1 0x76e682ea in virReportErrorHelper (domcode=domcode@entry=31, errorcode=errorcode@entry=1, filename=0x76f94434 "cpu/cpu.c", funcname=0x76f942dc <__FUNCTION__.18096> "cpuGetSubDriver", linenr=linenr@entry=58, fmt=0x76f7e7e4 "%s") at util/virerror.c:1292 #2 0x76ed82d4 in cpuGetSubDriver (arch=<optimized out>) at cpu/cpu.c:57 #3 cpuGetSubDriver (arch=VIR_ARCH_NONE) at cpu/cpu.c:51 #4 0x76ed8818 in cpuDataFree (data=data@entry=0x70c22d78) at cpu/cpu.c:216 #5 0x716aaec0 in virQEMUCapsInitCPU (arch=VIR_ARCH_ARMV7L, caps=0x70c29a08) at qemu/qemu_capabilities.c:867 Signed-off-by: NDaniel P. Berrange <berrange@redhat.com>
-
由 Daniel P. Berrange 提交于
The VIR_FREE() macro will cast away any const-ness. This masked a number of places where we passed a 'const char *' string to VIR_FREE. Fortunately in all of these cases, the variable was not in fact const data, but a heap allocated string. Fix all the variable declarations to reflect this. Signed-off-by: NDaniel P. Berrange <berrange@redhat.com>
-
由 Eric Blake 提交于
No need to open code now that we have a nice function. Interestingly, our virStringFreeList function is typed correctly (a malloc'd list of malloc'd strings is NOT const, whether at the point where it is created, or at the point where it is cleand up), so using it with a 'const char **' argument would require a cast to keep the compiler. I chose instead to remove const from code even where we don't modify the argument, just to avoid the need to cast. * src/qemu/qemu_command.h (qemuParseCommandLine): Drop declaration. * src/qemu/qemu_command.c (qemuParseProcFileStrings) (qemuStringToArgvEnv): Don't force malloc'd result to be const. (qemuParseCommandLinePid, qemuParseCommandLineString): Simplify cleanup. (qemuParseCommandLine, qemuFindEnv): Drop const-correctness to avoid the need to cast in callers. Signed-off-by: NEric Blake <eblake@redhat.com>
-
由 Peter Krempa 提交于
In commit 991270db I've used virDomainNetGetActualHostdev() to get the actual hostdev from a network when removing the network from the list to avoid leaving the hostdev in the list. I didn't notice that this function doesn't check if the actual network is allocated and dereferences it. This crashes the daemon when cleaning up a domain object in early startup phases when the actual network definition isn't allocated. When the actual definition isn't present, the hostdev that might correspond to it won't be present anyways so it's safe to return NULL. Thanks to Cole Robinson for noticing this problem.
-
由 Jim Fehlig 提交于
No need to check if privileged when reading hostsysinfo, since that check was already done in libxlDriverShouldLoad(). The libxl driver fails to load if not privileged.
-
由 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 1 次提交
-
-
由 Michal Privoznik 提交于
The test should refer to Virtlockd.lns, which is the name of the module + lens in virtlockd.aug.
-