- 28 10月, 2014 1 次提交
-
-
由 Eric Blake 提交于
https://bugzilla.redhat.com/show_bug.cgi?id=956506 documents that given a domain where an internal snapshot parent has an external snapshot child, we lacked a safety check when trying to use the --children-only option to snapshot-delete: $ virsh start dom $ virsh snapshot-create-as dom internal $ virsh snapshot-create-as dom external --disk-only $ virsh snapshot-delete dom external error: Failed to delete snapshot external error: unsupported configuration: deletion of 1 external disk snapshots not supported yet $ virsh snapshot-delete dom internal --children error: Failed to delete snapshot internal error: unsupported configuration: deletion of 1 external disk snapshots not supported yet $ virsh snapshot-delete dom internal --children-only Domain snapshot internal children deleted While I'd still like to see patches that actually do proper external snapshot deletion, we should at least fix the inconsistency in the meantime. With this patch: $ virsh snapshot-delete dom internal --children-only error: Failed to delete snapshot internal error: unsupported configuration: deletion of 1 external disk snapshots not supported yet * src/qemu/qemu_driver.c (qemuDomainSnapshotDelete): Fix condition. Signed-off-by: NEric Blake <eblake@redhat.com>
-
- 27 10月, 2014 1 次提交
-
-
由 Laine Stump 提交于
virNetDevLinkDump() gets a message from netlink into "resp", then calls nlmsg_parse() to fill the table "tb" with pointers into resp. It then returns tb to its caller, but not before freeing the buffer at resp. That means that all the callers of virNetDevLinkDump() are examining memory that has already been freed. This can be verified by filling the buffer at resp with garbage prior to freeing it (or, I suppose, just running libvirtd under valgrind) then performing some operation that calls virNetDevLinkDump(). The code has been like this ever since virNetDevLinkDump() was written - the original author didn't notice it, and neither did later additional users of the function. It has only been pure luck (or maybe a lack of heavy load, and/or maybe an allocation algorithm in malloc() that delays re-use of just-freed memory) that has kept this from causing errors, for example when configuring a PCI passthrough or macvtap passthrough network interface. The solution taken in this patch is the simplest - just return resp to the caller along with tb, then have the caller free it after they are finished using the data (pointers) in tb. I alternately could have made a cleaner interface by creating a new struct that put tb and resp together along with a vir*Free() function for it, but this function is only used in a couple places, and I'm not sure there will be additional new uses of virNetDevLinkDump(), so the value of adding a new type, extra APIs, etc. is dubious.
-
- 25 10月, 2014 3 次提交
-
-
由 Shanzhi Yu 提交于
libvirtd will report below error if it does not make sure driver was not NULL in virRegisterNetworkDriver $ libvirtd 2014-10-24 09:24:36.443+0000: 28876: info : libvirt version: 1.2.10 2014-10-24 09:24:36.443+0000: 28876: error : virRegisterNetworkDriver:549 : driver in virRegisterNetworkDriver must not be NULL 2014-10-24 09:24:36.443+0000: 28876: error : virDriverLoadModule:99 : Failed module registration vboxNetworkRegister Signed-off-by: NShanzhi Yu <shyu@redhat.com> Signed-off-by: NEric Blake <eblake@redhat.com>
-
由 Daniel P. Berrange 提交于
The recently added driver-*.h files were not listed in the Makefile.am causing them to be missed when creating dists. Signed-off-by: NDaniel P. Berrange <berrange@redhat.com>
-
由 Daniel P. Berrange 提交于
The <sysinfo> data block was indented by 2 spaces too many. This was missed because we never had any test validating the XML formatting.
-
- 24 10月, 2014 12 次提交
-
-
由 Daniel P. Berrange 提交于
Introduce a src/libvirt-host.c file to hold all the methods related to the virConnect type.
-
由 Daniel P. Berrange 提交于
Introduce a src/libvirt-domain.c file to hold all the methods related to the virDomain type.
-
由 Daniel P. Berrange 提交于
The virTypedParameterValidateSet method will need to be used from several libvirt-*.c files so must be non-static Signed-off-by: NDaniel P. Berrange <berrange@redhat.com>
-
由 Daniel P. Berrange 提交于
Introduce a src/libvirt-storage.c file to hold all the methods related to the virStorage{Pool,Vol} types.
-
由 Daniel P. Berrange 提交于
Introduce a src/libvirt-stream.c file to hold all the methods related to the virStream type.
-
由 Daniel P. Berrange 提交于
Introduce a src/libvirt-secret.c file to hold all the methods related to the virSecret type.
-
由 Daniel P. Berrange 提交于
Introduce a src/libvirt-nodedev.c file to hold all the methods related to the virNodeDevice type.
-
由 Daniel P. Berrange 提交于
Introduce a src/libvirt-nwfilter.c file to hold all the methods related to the virNWFilter type.
-
由 Daniel P. Berrange 提交于
Introduce a src/libvirt-interface.c file to hold all the methods related to the virInterface type.
-
由 Daniel P. Berrange 提交于
Introduce a src/libvirt-network.c file to hold all the methods related to the virNetwork type.
-
由 Daniel P. Berrange 提交于
Introduce a src/libvirt-domain-snapshot.c file to hold all the methods related to the virDomainSnapshot type.
-
由 Eric Blake 提交于
The function hypervEnumAndPull consumes query on success, but leaked it on failure. Rather than having to change all callers (many of them indirect callers through the generated hypervGetMsvmComputerSystemList), it was easier to just guarantee that the buffer is cleaned on return from the function. * src/hyperv/hyperv_wmi.c (hypervEnumAndPull): Don't leak query on failure. Signed-off-by: NEric Blake <eblake@redhat.com>
-
- 23 10月, 2014 3 次提交
-
-
由 Daniel P. Berrange 提交于
With the large number of APIs in libvirt the driver.h file, it is easy to get lost looking for things. Split each driver into a separate header file based on the functional driver groups. Signed-off-by: NDaniel P. Berrange <berrange@redhat.com>
-
由 Daniel P. Berrange 提交于
To prepare for introducing a single global driver, rename the virDriver struct to virHypervisorDriver and the registration API to virRegisterHypervisorDriver()
-
由 Erik Skultety 提交于
Tuning NUMA or network interface parameters requires root privileges to manage cgroups. Thus an attempt to set some of these parameters in session mode on a running domain should be invalid followed by an error. An example might be memory tuning which raises an error in such case. The following behavior in session mode will be present after applying this patch: Tuning | SET | GET | ----------|---------------|--------| NUMA | shut off only | always | Memory | never | never | Interface | never | always | Resolves https://bugzilla.redhat.com/show_bug.cgi?id=1126762
-
- 22 10月, 2014 5 次提交
-
-
由 Peter Krempa 提交于
Also consider whitespace only strings returned from the hook as empty result.
-
由 Peter Krempa 提交于
The documentation for the restore hook states that returning an empty XML is equivalent with copying the input. There was a bug in the code checking the returned string by checking the string instead of the contents. Use the new helper to check if the string is empty.
-
由 Peter Krempa 提交于
The helper checks whether a string contains only whitespace or is NULL. This will be helpful to skip cases where a user string is optional, but may be provided empty with the same meaning.
-
由 Rick Harris 提交于
Newer versions of Debian use '/run/initctl' instead of '/dev/initctl'. This patch updates the code to search for the FIFO from a list of well-known locations.
-
由 Roman Bogorodskiy 提交于
Build with clang fails with: CC util/libvirt_util_la-virsocketaddr.lo util/virsocketaddr.c:904:17: error: cast from 'struct sockaddr *' to 'struct sockaddr_in *' increases required alignment from 1 to 4 [-Werror,-Wcast-align] inet4 = (struct sockaddr_in*) res->ai_addr; ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ util/virsocketaddr.c:909:17: error: cast from 'struct sockaddr *' to 'struct sockaddr_in6 *' increases required alignment from 1 to 4 [-Werror,-Wcast-align] inet6 = (struct sockaddr_in6*) res->ai_addr; ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2 errors generated. Fix that by replacing virSocketAddrParseInternal() call with virSocketAddrParse() in the virSocketAddrIsNumericLocalhost() function. virSocketAddrParse stores an address in virSocketAddr. virSocketAddr uses a union to store an address, so it doesn't need casting.
-
- 21 10月, 2014 3 次提交
-
-
由 Martin Kletzander 提交于
Commit 4882618e added the code that requests driver cfg, but forgot to unref it. Signed-off-by: NMartin Kletzander <mkletzan@redhat.com>
-
由 Lubomir Rintel 提交于
virt-manager on Fedora sets up i686 hosts with "/usr/bin/qemu-kvm" emulator, which in turn unconditionally execs qemu-system-x86_64 querying capabilities then fails: Error launching details: invalid argument: architecture from emulator 'x86_64' doesn't match given architecture 'i686' Traceback (most recent call last): File "/usr/share/virt-manager/virtManager/engine.py", line 748, in _show_vm_helper details = self._get_details_dialog(uri, vm.get_connkey()) File "/usr/share/virt-manager/virtManager/engine.py", line 726, in _get_details_dialog obj = vmmDetails(conn.get_vm(connkey)) File "/usr/share/virt-manager/virtManager/details.py", line 399, in __init__ self.init_details() File "/usr/share/virt-manager/virtManager/details.py", line 784, in init_details domcaps = self.vm.get_domain_capabilities() File "/usr/share/virt-manager/virtManager/domain.py", line 518, in get_domain_capabilities self.get_xmlobj().os.machine, self.get_xmlobj().type) File "/usr/lib/python2.7/site-packages/libvirt.py", line 3492, in getDomainCapabilities if ret is None: raise libvirtError ('virConnectGetDomainCapabilities() failed', conn=self) libvirtError: invalid argument: architecture from emulator 'x86_64' doesn't match given architecture 'i686' Journal: Oct 16 21:08:26 goatlord.localdomain libvirtd[1530]: invalid argument: architecture from emulator 'x86_64' doesn't match given architecture 'i686'
-
由 Zhou yimin 提交于
If VM is configured with many devices(including passthrough devices) and large memory, libvirtd will take seconds(in the worst case) to wait for monitor. In this period the qemu process may run on any PCPU though I intend to pin emulator to the specified PCPU in xml configuration. Actually qemu process takes high cpu usage during vm startup. So this is not the strict CPU isolation in this case. Signed-off-by: NZhou yimin <zhouyimin@huawei.com>
-
- 20 10月, 2014 1 次提交
-
-
由 Maxime Leroy 提交于
The mode attribute is required for the source element of vhost-user. Thus virDomainNetDefFormat should always generate a xml with it and not only when the mode is server. The commit fixes the issue. And it adds a vhostuser interface in 'client' mode to qemuxml2argv-net-vhostuser.(args|xml) to test this usecase. Signed-off-by: NMaxime Leroy <maxime.leroy@6wind.com>
-
- 17 10月, 2014 1 次提交
-
-
由 Jim Fehlig 提交于
Add missing 'break's from commit 1298daca, as noted by John Ferlan https://www.redhat.com/archives/libvir-list/2014-October/msg00430.html
-
- 15 10月, 2014 10 次提交
-
-
由 Peter Krempa 提交于
-
由 Peter Krempa 提交于
-
由 Peter Krempa 提交于
-
由 Peter Krempa 提交于
-
由 Peter Krempa 提交于
-
由 Chen Fan 提交于
Signed-off-by: NChen Fan <chen.fan.fnst@cn.fujitsu.com>
-
由 Peter Krempa 提交于
Shove it to the top of the file so that it can be reused earlier.
-
由 Peter Krempa 提交于
To allow easy implementation of a callback check this patch adds empty post parse callbacks to drivers that were missing them.
-
由 Peter Krempa 提交于
To allow live modification of device backends in qemu libvirt needs to be able to hot-add/remove "objects". Add monitor backend functions to allow this. This function will be used for hot-add/remove of RNG backends, IOThreads, memory backing objects, etc.
-
由 Peter Krempa 提交于
Add a new option specifier that will optionally add a JSON key=value pair containing a nested object if the added object isn't NULL.
-