- 04 4月, 2016 6 次提交
-
-
由 Martin Kletzander 提交于
Commit d77ffb68 added not only reporting of the PCI header type, but also parsing of that information. However, because there was no parsing done for the other sub-PCI capabilities, if there was any other capability then a valid header type name (like phys_function or virt_functions) the parsing would fail. This prevented passing node device XMLs that we generated into our own functions when dealing with, e.g. with SRIOV cards. Instead of reworking the whole parsing, just fix this one occurence and remove a test for it for the time being. Future patches will deal with the rest. Signed-off-by: NMartin Kletzander <mkletzan@redhat.com>
-
由 Laine Stump 提交于
Starting with commit f8e712fe, if you start a domain that has an <interface type='hostdev' (or that has <interface type='network'> where the network is a pool of devices for hostdev assignment), when you later try to add *another* interface (of any kind) with hotplug, the function qemuAssignDeviceNetAlias() fails as soon as it sees a "hostdevN" alias in the list of interfaces), causing the attach to fail. This is because (starting with f8e712fe) the device alias names are assigned during the new function qemuProcessPrepareDomain(), which is called *before* networkAllocateActualDevice() (which is called from qemuProcessPrepareHost(), which is called from qemuProcessLaunch()). Prior to that commit, networkAllocateActualDevice() was called first. The problem with this is that the alias for interfaces that are really a hostdev (<interface type='hostdev'>) is of the form "hostdevN" (just like other hostdevs), while other interfaces are "netN". But if you don't know that the interface is going to be a hostdev at the time you assign the alias name, you can't name it differently. (As far as I've seen so far, the change in name by itself wouldn't have been a problem (other than just an outwardly noticeable change in behavior) except for the abovementioned failure to attach/detach new interfaces. Rather than take the chance that there may be other not-yet-revealed problems associated with changing the alias name, this patch changes the way that aliases are assigned to restore the old behavior. Old: In the past, assigning an alias to an interface was skipped if it was seen that the interface was type='hostdev' - we knew that the hostdev part of the interface was also in the list of hostdevs (that's part of what happens in networkAllocateActualDevice()) and it would be assigned when all the other hostdev aliases were assigned. New: When assigning an alias to an interface, we haven't yet called networkAllocateActualDevice() to construct the hostdev part of the interface, so we can't just wait for the loop that creates aliases for all the hostdevs (there's nothing on that list for this device yet!). Instead we handle it immediately in the loop creating interface aliases, by calling the new function networkGetActualType() to determine if it is going to be hostdev, and if so calling qemuAssignDeviceHostdevAlias() instead. Some adjustments have to be made to both qemuAssignDeviceHostdevAlias() and to qemuAssignDeviceNetAlias() to accommodate this. In both of them, an error return from qemuDomainDeviceAliasIndex() is no longer considered an error; instead it's just ignored (because it almost certainly means that the alias string for the device was "net" when we expected "hostdev" or vice versa). in qemuAssignDeviceHostdevAlias() we have to look at all interface aliases for hostdevN in addition to looking at all hostdev aliases (this wasn't necessary in the past, because both the interface entry and the hostdev entry for the device already pointed at the device info; no longer the case since the hostdev entry hasn't yet been setup). Fortunately the buggy behavior hasn't yet been in any official release of libvirt.
-
由 Laine Stump 提交于
In certain cases, we need to assign a hostdevN-style alias in a case when we don't have a virDomainHostdevDefPtr (instead we have a virDomainNetDefPtr). Since qemuAssignDeviceHostdevAlias() doesn't use anything in the virDomainHostdevDef except the alias string itself anyway, this patch just changes the arguments to pass a pointer to the alias pointer instead.
-
由 Laine Stump 提交于
There are times when it's necessary to learn the actual type of a network connection before any resources have been allocated (e.g. during qemuProcessPrepareDomain()), but in the past it was necessary to call networkAllocateActualDevice() in order to have the actual type filled in. This new function returns the type of network that *will be* setup once it actually happens, but without making any changes on the host.
-
由 Martin Kletzander 提交于
The paths have the domain ID in them. Without cleaning them, they would contain the same ID even after multiple restarts. That could cause various problems, e.g. with access. Add function qemuDomainClearPrivatePaths() for this as a counterpart of qemuDomainSetPrivatePaths(). Signed-off-by: NMartin Kletzander <mkletzan@redhat.com>
-
由 Martin Kletzander 提交于
Since commit 9dca74ee, the function can take driver and a vm, no need to overcomplicate. Signed-off-by: NMartin Kletzander <mkletzan@redhat.com>
-
- 02 4月, 2016 1 次提交
-
-
由 Guido Günther 提交于
The directory name changed in a89f05ba. This unbreaks launching QEMU/KVM VMs with apparmor enabled. It also adds the directory for the qemu guest-agent socket which is not known when parsing the domain XML.
-
- 01 4月, 2016 5 次提交
-
-
由 Andrea Bolognani 提交于
This reverts commit ee4cfb56. Since we're still not persisting our bookkeeping lists across daemon restarts, we might have lost some information virPCIDeviceReattach() relies on, for example whether the device needs to be unbound from the stub driver. As a result, if the daemon has been restarted in the meantime, the device might end up remaining bound to the stub driver even after 'virsh nodedev-reattach' or similar has been called, with no way of giving it back to the host short of messing with sysfs behind libvirt's back. Revert back to the previous behavior of always trying to bind the device to the host driver, regardless of its status when it was detached, until persistent bookkeeping lists have been implemented.
-
由 Rudy Zhang 提交于
Commit 08cc14f7 moved the conversion of MiB/s to B/s out of the qemuMonitor APIs, but forgot to adjust the qemuMigrationDriveMirror caller. This patch will convert the migrate_speed value from MiB/s to its mirror_speed equivalent in bytes/s. Signed-off-by: NRudy Zhang <rudyflyzhang@gmail.com> Signed-off-by: NJán Tomko <jtomko@redhat.com>
-
由 Peter Krempa 提交于
@flags have a valid modification impact only after calling virDomainObjUpdateModificationImpact. virDomainObjGetOneDef calls it but doesn't update them in the caller.
-
由 Jim Fehlig 提交于
Chunyan sent a nice cleanup patch for libxlDomainDetachNetDevice https://www.redhat.com/archives/libvir-list/2016-March/msg00926.html which I incorrectly modified before pushing as commit b5534e53. My modification caused network devices of type hostdev to no longer be removed. This patch changes b5534e53 to resemble Chunyan's original, correct patch.
-
由 Jim Fehlig 提交于
Chunyan sent a correct patch to fix a resource leak on error in libxlDomainAttachNetDevice https://www.redhat.com/archives/libvir-list/2016-March/msg00924.html I made what was thought to be an improvement and pushed the patch as commit e6336442. As it turns out, my change broke adding net devices that are actually hostdevs to the list of nets in virDomainDef. This patch changes e6336442 to resemble Chunyan's original, correct patch.
-
- 31 3月, 2016 8 次提交
-
-
由 Fabiano Fidêncio 提交于
Compilation for xdg-app failed due to a buggy SASL headers present on the used runtime (org.gnome.Sdk 3.18). In file included from rpc/virnetsaslcontext.h:24:0, from rpc/virnetsaslcontext.c:25: /usr/include/sasl/sasl.h:230:38: error: unknown type name 'size_t' typedef void *sasl_realloc_t(void *, size_t); ^ /usr/include/sasl/sasl.h:235:5: error: unknown type name 'sasl_realloc_t' sasl_realloc_t *, Use the same workaround as commit 1be3dfdf did. Signed-off-by: NJán Tomko <jtomko@redhat.com>
-
由 Michal Privoznik 提交于
We use _LAST items in enums to mark the last position in given enum. Now, if and enum is passed to switch(), compiler checks that all the values from enum occur in 'case' enumeration. Including _LAST. But coverity spots it's a dead code. And it really is. So to resolve this, we tend to put a comment just above 'case ..._LAST' notifying coverity that we know this is a dead code but we want to have it that way. Signed-off-by: NMichal Privoznik <mprivozn@redhat.com>
-
由 Michal Privoznik 提交于
Do I really need to explain why? Well, if read() is interrupted int the middle of reading, we will never read the rest (even though it's highly unlikely as we are reading just 8 bytes). Signed-off-by: NMichal Privoznik <mprivozn@redhat.com>
-
由 Martin Kletzander 提交于
Caused by 3b6c8185. Signed-off-by: NMartin Kletzander <mkletzan@redhat.com>
-
由 Michal Privoznik 提交于
Even though we have the machine locked throughout whole APIs we are querying/modifying domain internal state. We should grab a job whilst doing that. Signed-off-by: NMichal Privoznik <mprivozn@redhat.com>
-
由 Michal Privoznik 提交于
Now that we have @flags we can support changing perf events just in active or inactive configuration regardless of the other. Previously, calling virDomainSetPerfEvents set events in both active and inactive configuration at once. Even though we allow users to set perf events that are to be enabled once domain is started up. The virDomainGetPerfEvents API was flawed too. It returned just runtime info. Signed-off-by: NMichal Privoznik <mprivozn@redhat.com>
-
由 Michal Privoznik 提交于
I've noticed that these APIs are missing @flags argument. Even though we don't have a use for them, it's our policy that every new API must have @flags. Signed-off-by: NMichal Privoznik <mprivozn@redhat.com>
-
由 Michal Privoznik 提交于
There are few lines off the indentation. Signed-off-by: NMichal Privoznik <mprivozn@redhat.com>
-
- 30 3月, 2016 11 次提交
-
-
由 Peter Krempa 提交于
They recently were extracted to a separate function. They don't belong together though. Since -numa formatting is pretty compact, move it to the main function and rename qemuBuildNumaCommandLine to qemuBuildMemoryDeviceCommandLine.
-
由 Peter Krempa 提交于
When starting up a VM libvirtd asks numad to place the VM in case of automatic nodeset. The nodeset would not be passed to the memory device formatter and the user would get an error. Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1269715
-
由 Pavel Hrdina 提交于
Commit 7068b56c introduced several hyperv features. Not all hyperv features are supported by old enough kernels and we shouldn't allow to start a guest if kernel doesn't support any of the hyperv feature. There is one exception, for backward compatibility we cannot error out if one of the RELAXED, VAPIC or SPINLOCKS isn't supported, for the same reason we ignore invtsc, to not break restoring saved domains with older libvirt. Signed-off-by: NPavel Hrdina <phrdina@redhat.com>
-
由 Pavel Hrdina 提交于
This check is there to allow restore saved domain with older libvirt where we included invtsc by default for host-passthrough model. Don't skip the whole function, but only the part that checks for invtsc. Signed-off-by: NPavel Hrdina <phrdina@redhat.com>
-
由 Jim Fehlig 提交于
Remove disabling domain death events from libxlDomainStart error path. The domain death event is already disabled in libxlDomainCleanup. Signed-off-by: NJim Fehlig <jfehlig@suse.com>
-
由 Chunyan Liu 提交于
libxlDomainStart allocates and reserves resources that were not being released in error paths. libxlDomainCleanup already handles the job of releasing resources, and libxlDomainStart should call it when encountering a failure. Change the error handling logic to call libxlDomainCleanup on failure. This includes acquiring the lease sooner and allowing it to be released in libxlDomainCleanup on failure, similar to the way other resources are reclaimed. With the lease now released in libxlDomainCleanup, the release_dom label can be renamed to cleanup_dom to better reflect its changed semantics. Signed-off-by: NJim Fehlig <jfehlig@suse.com>
-
由 Jim Fehlig 提交于
Rename cleanup_dom label to destroy_dom, which better describes what it does. Signed-off-by: NJim Fehlig <jfehlig@suse.com>
-
由 Peter Krempa 提交于
-
由 Peter Krempa 提交于
Create a bitmap of iothreads that have scheduler info set so that the transformation algorithm does not have to iterate the empty bitmap many times. By reusing self-expanding bitmaps the bitmap size does not need to be pre-calculated. Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1264008
-
由 Peter Krempa 提交于
In some cases it's impractical to use the regular APIs as the bitmap size needs to be pre-declared. These new APIs allow to use bitmaps that self expand. The new code adds a property to the bitmap to track the allocation of memory so that VIR_RESIZE_N can be used.
-
由 Roman Bogorodskiy 提交于
* Sync stubbed functions with prototypes * Add missing ATTRIBUTE_UNUSED where needed Pushing under the build breaker rule.
-
- 29 3月, 2016 9 次提交
-
-
由 Jiri Denemark 提交于
Since commit v1.3.2-119-g1e34a8f9 which enabled debug-threads in QEMU qemuGetProcessInfo would fail to parse stats for any thread with a space in its name. https://bugzilla.redhat.com/show_bug.cgi?id=1316803Signed-off-by: NJiri Denemark <jdenemar@redhat.com>
-
由 Peter Krempa 提交于
Move the function to qemu_domain.c and export them for further use.
-
由 Peter Krempa 提交于
Now that there are only two elements in the enum, let's change it to a bool and rename the function similarly to the one added in previous commit.
-
由 Peter Krempa 提交于
Introduce qemuDomainDiskChainElementRevoke that revokes the access rather than having a flag to do so.
-
由 Peter Krempa 提交于
The function has terrible semantics. Split it into two functions.
-
由 Peter Krempa 提交于
qemu won't ever add those functions directly to QMP. They will be replaced with 'blockdev-add' and 'blockdev-del' eventually. At this time there's no need to keep the stubs around. Additionally the drive_del stub in JSON contained dead code in the attempt to report errors. (VIR_ERR_OPERATION_UNSUPPORTED was never reported). Since the text impl does have the same message it is reported anyways.
-
由 Peter Krempa 提交于
Functions no longer required for attaching SCSI disks since QEMU_CAPS_DEVICE is expected.
-
由 Peter Krempa 提交于
We've started to assume support for QEMU_CAPS_DEVICE. Doing so in the SCSI disk hotplug code allows us to drop a lot of ugly legacy code.
-
由 Maxim Nestratov 提交于
-