- 27 7月, 2015 3 次提交
-
-
由 Martin Kletzander 提交于
Commit d506a51a meant to check for QEMU_CAPS_DRIVE_IOTUNE_MAX, but checked for QEMU_CAPS_DRIVE_IOTUNE instead. That's clearly visible from the diff, but it got in. Because of that, we were supplying information unknown for QEMU if it wasn't new enough and we couldn't even properly handle the error, leading to "Unexpected error". Also iops_size came at the same time with all the other "_max" options, so check whether we're not setting that either if QEMU_CAPS_DRIVE_IOTUNE_MAX is not supported. Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1224053Signed-off-by: NMartin Kletzander <mkletzan@redhat.com>
-
由 Martin Kletzander 提交于
Commit 2094d01e forgot to rename two more files. Signed-off-by: NMartin Kletzander <mkletzan@redhat.com>
-
由 Daniel Veillard 提交于
Simplest was just to rename that extra long name and move files in git accordingly
-
- 25 7月, 2015 3 次提交
-
-
由 Laine Stump 提交于
There are some non-0 default values in virDomainControllerDef (and will soon be more) that are easier to not forget if the remembering is done by a single initializer function (rather than inline code after allocating the obejct with generic VIR_ALLOC().
-
由 Laine Stump 提交于
This loop occurs just after we've assured that all devices that require a PCI device have been assigned and all necessary PCI controllers have been added. It is the perfect place to add other potentially auto-generated PCI controller attributes that are dependent on the controller's PCI address (upcoming patch). There is a convenient loop through all controllers at the end of the function, but the patch to add new functionality will be cleaner if we first rearrange that loop a bit. Note that the loop originally was accessing info.addr.pci.bus prior to determining that the pci part of the object was valid. This isn't dangerous in any way, but seemed a bit ugly, so I fixed it.
-
由 Laine Stump 提交于
The function that auto-assigns PCI addresses was written with the hardcoded assumptions that any PCI bus would have slots available starting at 1 and ending at 31. This isn't true for many types of controllers (some have a single slot/port at 0, some have slots/ports from 0 to 31). This patch updates that function to remove the hardcoded assumptions. It will properly find/assign addresses for devices that can only connect to pcie-(root|downstream)-port (which have minSlot/maxSlot of 0/0) or a pcie-switch-upstream-port (0/31). It still will not auto-create a new bus of the proper kind for these connections when one doesn't exist, that task is for another day.
-
- 24 7月, 2015 7 次提交
-
-
由 Chris J Arges 提交于
Add a testcase for the previous change to ensure zero capacity volumes can be defined without a backing store. Signed-off-by: NChris J Arges <chris.j.arges@canonical.com>
-
由 Chris J Arges 提交于
In commit 155ca616, a change was introduced that no longer allowed defining volumes via XML with a capacity of '0'. Because we check for info.size_arg to be non-zero, this use-case fails. This patch allows info.size_arg to be zero if no backing store is specified. Signed-off-by: NChris J Arges <chris.j.arges@canonical.com>
-
由 John Ferlan 提交于
Commit id 'ac3ed208' causes 'virsh nodedev-list --cap net' to fail on any system without SYSFS_INFINIBAND_DIR (/sys/class/infiniband). Rather than assume it's there and fail on the attempt to open the non-existent directory, check if it's there - if not, return success and move on. Also fix caller to check < 0 upon return. As reported by Suren Hajyan <shajyan@redhat.com> from run of unit tests
-
由 Cao jin 提交于
Signed-off-by: NCao jin <caoj.fnst@cn.fujitsu.com>
-
由 Martin Kletzander 提交于
This reverts commit 7b401c3b. Until libvirt is able to differentiate whether heads='1' is just a leftover from previous libvirt or whether that's added by user on purpose and also whether the domain was started with the support for qxl's max_outputs, we cannot incorporate this patch into the tree due to compatibility reasons. Signed-off-by: NMartin Kletzander <mkletzan@redhat.com>
-
由 Luyao Huang 提交于
As there is a regression in use vcpupin get info, introduce a new function to test the virsh client. Signed-off-by: NLuyao Huang <lhuang@redhat.com>
-
由 Laine Stump 提交于
This makes the range and static host array management in virNetworkDHCPDefParseXML() more similar to what is done in virNetworkDefUpdateIPDHCPRange() and virNetworkDefUpdateIPDHCPHost() - they use VIR_APPEND_ELEMENT rather than a combination of VIR_REALLOC_N() and separate incrementing of the array size. The one functional change here is that a memory leak of the contents of the last (unsuccessful) virNetworkDHCPHostDef was previously leaked in certain failure conditions, but it is now properly cleaned up.
-
- 23 7月, 2015 3 次提交
-
-
由 Andrea Bolognani 提交于
-
由 Roman Bogorodskiy 提交于
-
由 Roman Bogorodskiy 提交于
Bhyve as of r279225 (FreeBSD -CURRENT) or r284894 (FreeBSD 10-STABLE) supports using UTC time offset via the '-u' argument to bhyve(8). By default it's still using localtime. Make the bhyve driver use UTC clock if it's requested by specifying <clock offset='utc'> in domain XML and if the bhyve(8) binary supports the '-u' flag.
-
- 22 7月, 2015 18 次提交
-
-
由 Roman Bogorodskiy 提交于
Commit ac3ed208 breaks build on FreeBSD with: CC util/libvirt_util_la-virnetdev.lo util/virnetdev.c:2967:1: error: unused function 'virNetDevRDMAFeature' [-Werror,-Wunused-function] virNetDevRDMAFeature(const char *ifname, ^ So hide virNetDevRDMAFeature function under the #ifdef 'SIOCETHTOOL' and 'HAVE_STRUCT_IFREQ' section. Pushed under the build breaker rule.
-
由 Daniel P. Berrange 提交于
We don't need pkcheck binary, but we must detect it in order to see if we're preferring polkit-1 over polkit-0 when both are installed. We should also check $with_dbus to see if we have dbus-devel available, as that's required to talk to polkit-1. Signed-off-by: NDaniel P. Berrange <berrange@redhat.com>
-
由 Luyao Huang 提交于
https://bugzilla.redhat.com/show_bug.cgi?id=1245476 We won't return the errno after commit 0d7f45ae, and the more clearly error will be set in the code in vircgroup*. Also We will always report error "Operation not permitted", because the return is -1. Signed-off-by: NLuyao Huang <lhuang@redhat.com>
-
由 Andrea Bolognani 提交于
Move the calls to the respective functions from virNodeParseNode(), which is executed once for every NUMA node, to linuxNodeInfoCPUPopulate(), which is executed just once per host.
-
由 Andrea Bolognani 提交于
Keep track of what CPUs belong to the current node while walking through the sysfs node entry, so we don't need to do it a second time immediately afterwards. This also allows us to loop through all CPUs that are part of a node in guaranteed ascending order, which is something that is required for some upcoming changes.
-
由 Andrea Bolognani 提交于
No need to look up the online status of each CPU separately when we can get all the information in one go.
-
由 Andrea Bolognani 提交于
Swap out all instances of cpu_set_t and replace them with virBitmap, which some of the code was already using anyway. The changes are pretty mechanical, with one notable exception: an assumption has been added on the max value we can run into while reading either socket_it or core_id. While this specific assumption was not in place before, we were using cpu_set_t improperly by not making sure not to set any bit past CPU_SETSIZE or explicitly allocating bigger bitmaps; in fact the default size of a cpu_set_t, 1024, is way too low to run our testsuite, which includes core_id values in the 2000s.
-
由 Andrea Bolognani 提交于
The new name makes it clear that the returned bitmap contains the information about which CPUs are online, not eg. which CPUs are present. No behavioral change.
-
由 Andrea Bolognani 提交于
Not all users of this API will need the size of the returned bitmap; those who do can simply call virBitmapSize() themselves.
-
由 Andrea Bolognani 提交于
If the cpu/present file is not available, we assume that the kernel is too old to support non-consecutive CPU ids and return a bitmap with all the bits set to represent this fact. This assumption is already exploited in nodeGetCPUCount(). This means users of this API can expect the information to always be available unless an error has occurred, and no longer need to treat the NULL return value as a special case. The error message has been updated as well.
-
由 Andrea Bolognani 提交于
The original name was confusing because the function returns the number of CPUs, not the maximum CPU id. The comment above the function has been updated to reflect this. No behavioral changes.
-
由 Andrea Bolognani 提交于
-
由 Andrea Bolognani 提交于
This is just a more generic version of linuxGetCPUPresentPath(), which is now implemented by calling the new function appropriately.
-
由 Andrea Bolognani 提交于
During the recent refactoring/cleanups, a bug has been introduced that caused all CPUs to be reported as online unless the sysfs cpu/present file was available. This commit fixes the fallback code path by building the directory path passed to virNodeGetCpuValue() correctly.
-
由 Andrea Bolognani 提交于
-
由 Andrea Bolognani 提交于
When cleaning up the data (taken from a running system) for inclusion I went a little too far and deleted a bunch of links that should have been left alone. The test worked despite this because it was going through a fallback code path. A few other files are affected as well: again, the data is taken from a running system, so even thought we would probably be okay if we just added the links, aligning everything is definitely safer.
-
由 Peter Krempa 提交于
The scope name, even according to our docs is "machine-$DRIVER\x2d$VMNAME.scope" virSystemdMakeScopeName would use the resource partition name instead of "machine-" if it was specified thus creating invalid scope paths. This makes libvirt drop cgroups for a VM that uses custom resource partition upon reconnecting since the detected scope name would not match the expected name generated by virSystemdMakeScopeName. The error is exposed by the following log entry: debug : virCgroupValidateMachineGroup:302 : Name 'machine-qemu\x2dtestvm.scope' for controller 'cpu' does not match 'testvm', 'testvm.libvirt-qemu' or 'machine-test-qemu\x2dtestvm.scope' for a "/machine/test" resource and "testvm" vm. Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1238570
-
由 Cole Robinson 提交于
As of fedora polkit-0.113-2, polkit-devel only pulls in polkit-libs, not full polkit, but we need the latter for pkcheck otherwise our configure test fails.
-
- 21 7月, 2015 6 次提交
-
-
由 Peter Krempa 提交于
Similarly to the refactor of cmdBlockCommit in a previous commit this does the same change for cmdBlockCopy.
-
由 Peter Krempa 提交于
Reuse the vshBlockJobWait infrastructure to refactor cmdBlockCommit to use the common code. This additionally fixes a bug when working with new qemus, where when doing an active commit with --pivot the pivoting would fail, since qemu reaches 100% completion but the job doesn't switch to synchronized phase right away.
-
由 Peter Krempa 提交于
Introduce helper function that will provide logic for waiting for block job completion so the 3 open coded places can be unified and improved. This patch introduces the whole logic and uses it to fix cmdBlockJobPull. The vshBlockJobWait function provides common logic for block job waiting that should be robust enough to work across all previous versions of libvirt. Since virsh allows passing user-provided strings as paths of block devices we can't reliably use block job events for detection of block job states so the function contains a great deal of fallback logic.
-
由 Peter Krempa 提交于
Few parts of the code looked at the current progress of and assumed that a two phase blockjob is in the _READY state as soon as the progress reached 100% (info.cur == info.end). In current versions of qemu this assumption is invalid and qemu exposes a new flag 'ready' in the query-block-jobs output that is set to true if the job is actually finished. This patch adds internal data handling for reading the 'ready' flag and acting appropriately as long as the flag is present. While this still doesn't fix the virsh client problem with two phase block jobs and the --pivot option, it at least improves the error message: $ virsh blockcommit --wait --verbose vm vda --base vda[1] --active --pivot Block commit: [100 %]error: failed to pivot job for disk vda error: internal error: unable to execute QEMU command 'block-job-complete': The active block job for device 'drive-virtio-disk0' cannot be completed to $ virsh blockcommit --wait --verbose VM vda --base vda[1] --active --pivot Block commit: [100 %]error: failed to pivot job for disk vda error: block copy still active: disk 'vda' not ready for pivot yet
-
由 Peter Krempa 提交于
Put all argument parsing together and refactor the argument checking code.
-
由 Peter Krempa 提交于
Put all argument parsing together and refactor the argument checking code.
-