- 12 1月, 2017 2 次提交
-
-
由 John Ferlan 提交于
Commit id 'bb74a7ff' forgot to adjust the storage docs to describe the new fields.
-
由 Cédric Bosdonnat 提交于
List indexes where mixed up in the code looping over the USB input devices.
-
- 11 1月, 2017 38 次提交
-
-
由 Pino Toscano 提交于
When composing the path to the default known_hosts file (for the libssh and libssh2 drivers), do not check whether the configuration directory (determined by virGetUserConfigDirectory()) exists: both the drivers can handle non-existing files, and are able to create them (and their directories) in that case. This adds a small behaviour change: before, the key for an unknown host, and manually accepted, was saved only if the configuration directory existed -- a bit incoherent behaviour though.
-
由 Pino Toscano 提交于
If any of them is specified for the libssh and libssh2 drivers, there is no need to depend on checks based on other paths: in particular, a specified path for known_hosts was ignored if the local config directory could not be determined, and the path for keyfile was ignored if the home could not be determined. Instead, lazily determine and use these two paths only in case they are needed.
-
由 Pino Toscano 提交于
Make sure that virNetLibsshSessionSetHostKeyVerification accepts a NULL value for the path to the known_hosts file: - call ssh_options_set(SSH_OPTIONS_KNOWNHOSTS) anyway, using /dev/null, otherwise libssh will use its default path - do not call ssh_write_knownhost when no known hosts file was set Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1406457
-
由 Andrea Bolognani 提交于
Suggested-by: NJohn Ferlan <jferlan@redhat.com>
-
由 Laine Stump 提交于
Surprisingly there was a virDomainPCIAddressReleaseAddr() function already, but it was completely unused. Since we don't reserve entire slots at once any more, there is no need to release entire slots either, so we just replace the single call to virDomainPCIAddressReleaseSlot() with a call to virDomainPCIAddressReleaseAddr() and remove the now unused function. The keen observer may be concerned that ...Addr() doesn't call virDomainPCIAddressValidate(), as ...Slot() did. But really the validation was pointless anyway - if the device hadn't been suitable to be connected at that address, it would have failed validation before every being reserved in the first place, so by definition it will pass validation when it is being unplugged. (And anyway, even if something "bad" happened and we managed to have a device incorrectly at the given address, we would still want to be able to free it up for use by a device that *did* validate properly).
-
由 Laine Stump 提交于
This function doesn't actually reserve an entire slot any more, it reserves a single PCI address, so this name is more appropriate.
-
由 Laine Stump 提交于
This function is only called in two places, and the function itself is just adding a single argument and calling virDomainPCIAddressReserveNextAddr(), so we can remove it and instead call virDomainPCIAddressReserveNextAddr() directly. (The main motivation for doing this is to free up the name so that qemuDomainPCIAddressReserveNextSlot() can be renamed in the next patch, as its current name is now inaccurate and misleading).
-
由 Laine Stump 提交于
This function doesn't actually reserve an entire slot any more, it reserves a single PCI address, so this name is more appropriate.
-
由 Laine Stump 提交于
This is in preparation for renaming virDomainPCIAddressReserveSlot() to virDomainPCIAddressReserveAddr(), which is a better description of what it does.
-
由 Laine Stump 提交于
It is now only used in domain_addr.c.
-
由 Laine Stump 提交于
All occurences of the former use fromConfig=true, and that's exactly how virDomainPCIAddressReserveSlot() calls virDomainPCIaddressReserveAddr(), so just use *Slot() so that *Addr() can be made static to conf/domain_addr.c (both functions will be renamed in upcoming patches).
-
由 Laine Stump 提交于
Since we don't actually reserve an entire slot at a time anymore, the name of this function is just confusing, and it's almost identical in operation to virDomainPCIAddressReserveNextAddr() anyway, so remove the *Slot() function and replace calls to it with calls to *Addr(..., -1).
-
由 Laine Stump 提交于
With the advent of VIR_PCI_CONNECT_AGGREGATE_SLOT, the new name is more appropriate, since the address returned may be another address on the same slot as last time, not necessarily a new slot.
-
由 Laine Stump 提交于
fromConfig should be true if the caller wants virDomainPCIAddressValidate() to loosen restrictions on its interpretation of the pciConnectFlags. In particular, either PCI_DEVICE or PCIE_DEVICE will be counted as equivalent to both, and HOTPLUG will be ignored. In a few cases where libvirt was manually overriding automatic address assignment, it was setting fromConfig to false when validating the hardcoded manual override. This patch changes those to fromConfig=true as a preemptive strike against any future bugs that might otherwise surface.
-
由 Laine Stump 提交于
Although setting virDomainPCIAddressReserveAddr()'s fromConfig=true is correct when a PCI addres is coming from a domain's config, the *true* purpose of the fromConfig argument is to lower restrictions on what kind of device can plug into what kind of controller - if fromConfig is true, then a PCIE_DEVICE can plug into a slot that is marked as only compatible with PCI_DEVICE (and vice versa), and the HOTPLUG flag is ignored. For a long time there have been several calls to virDomainPCIAddressReserveAddr() that have fromConfig incorrectly set to false - it's correct that the addresses aren't coming from user config, but they are coming from hardcoded exceptions in libvirt that should, if anything, pay *even less* attention to following the pciConnectFlags (under the assumption that the libvirt programmer knew what they were doing). See commit b87703cf for an example of an actual bug caused by the incorrect setting of the "fromConfig" argument to virDomainPCIAddressReserveAddr(). Although they haven't resulted in any reported bugs, this patch corrects all the other incorrect settings of fromConfig in calls to virDomainPCIAddressReserveAddr().
-
由 Laine Stump 提交于
Set the VIR_PCI_CONNECT_AGGREGATE_SLOT flag for pcie-root-ports so that they will be assigned to all the functions on a slot. Some qemu test case outputs had to be adjusted due to the pcie-root-ports now being put on multiple functions.
-
由 Laine Stump 提交于
If a PCI device has VIR_PCI_CONNECT_AGGREGATE_SLOT set in its pciConnectFlags, then during address assignment we allow multiple instances of this type of device to be auto-assigned to multiple functions on the same device. A slot is used for aggregating multiple devices only if the first device assigned to that slot had VIR_PCI_CONNECT_AGGREGATE_SLOT set. but any device types that have AGGREGATE_SLOT set might be mix/matched on the same slot. (NB: libvirt should never set the AGGREGATE_SLOT flag for a device type that might need to be hotplugged. Currently it is only planned for pcie-root-port and possibly other PCI controller types, and none of those are hotpluggable anyway) There aren't yet any devices that use this flag. That will be in a later patch.
-
由 Laine Stump 提交于
If there are multiple devices assigned to the different functions of a single PCI slot, they will not work properly if the device at function 0 doesn't have its "multi" attribute turned on, so it makes sense for libvirt to turn it on during PCI address assignment. Setting multi then assures that the new setting is stored in the config (so it will be used next time the domain is started), preventing any potential problems in the case that a future change in the configuration eliminates the devices on all non-0 functions (multi will still be set for function 0 even though it is the only function in use on the slot, which has no useful purpose, but also doesn't cause any problems). (NB: If we were to instead just decide on the setting for multifunction at runtime, a later removal of the non-0 functions of a slot would result in a silent change in the guest ABI for the remaining device on function 0 (although it may seem like an inconsequential guest ABI change, it *is* a guest ABI change to turn off the multi bit).)
-
由 Laine Stump 提交于
This utility function iterates through all devices looking for any with a PCI address that has function != 0 (which implies that multiple functions are in use on that slot), then uses an inner iterator to find the device that's on function 0 of that same slot and sets the "multi" in its virDomainDeviceInfo (as long as it hasn't already been set explicitly by someone who presumably has better information than we do). It isn't yet called from anywhere, so will have no functional effect.
-
由 Laine Stump 提交于
There is a very slight time advantage to beginning the search for the next unused PCI address at the slot *after* the previous find (which is now used), but if we do that, we will miss allocating the other functions of the same slot (when we implement a VIR_PCI_CONNECT_AGGREGATE_SLOT flag to support that).
-
由 Laine Stump 提交于
virDomainPCIAddressGetNextSlot() starts searching from the last allocated address and goes to the end of all the buses, then goes back to the first bus and searches from there up to the starting point (in case any address has been freed since the last time an address was allocated. The loops for these two are almost, but not exactly, the same, so they have remained as separate loops with the same code inside the loop. To lessen maintenance headaches, the identical code has been moved out into the function virDomainPCIAddressFindUnusedFunctionOnBus(), which is called in place of the loop contents.
-
由 Laine Stump 提交于
setting reserveEntireSlot really accomplishes nothing - instead of going to the trouble of computing the value for reserveEntireSlot and then possibly setting *all* functions of the slot as in-use, we can just set the in-use bit only for the specific function being used by a device. Later we will know from the context (the PCI connect flags, and whether we are reserving a specific address or asking for "the next available") whether or not it is okay to allocate other functions on the same slot. Although it's not used yet, we allow specifying "-1" for the function number when looking for the "next available slot" - this is going to end up meaning "return the lowest available function in the slot, but since we currently only provide a function from an otherwise unused slot, "-1" ends up meaning "0".
-
由 Laine Stump 提交于
When keeping track of which functions of which slots are allocated, we will need to have more information than just the current bitmap with a bit for each function that is currently stored for each slot in a virDomainPCIAddressBus. To prepare for adding more per-slot info, this patch changes "uint8_t slots" into "virDomainPCIAddressSlot slot", which currently has a single member named "functions" that serves the same purpose previously served directly by "slots".
-
由 Cédric Bosdonnat 提交于
libxl doesn't provide a way to write one log for each domain. Thus we need to demux the messages. If our logger doesn't know to which domain to attribute a message, then it will write it to the default log file. Starting with Xen 4.9 (commit f9858025 and following), libxl will write the domain ID in an easy to grab manner. The logger introduced by this commit will use it to demux the libxl log messages. Thanks to the default log file, this logger will also work with older versions of Xen.
-
由 Chen Hanxiao 提交于
By default, pool-info will convert sizes to human friendly units. This patch will introduce option [--bytes]. If specified, the raw sizes will be in the output. Signed-off-by: NChen Hanxiao <chenhanxiao@gmail.com>
-
由 Dawid Zamirski 提交于
Signed-off-by: NJohn Ferlan <jferlan@redhat.com>
-
由 Dawid Zamirski 提交于
* remove _vboxIID_v2_x and _vboxIID_v3_x structs and repalce with one _vboxIID as all supprted vbox versions have the same IID structure. * remove vboxIIDUnion that was used to abstract version depended IID differences. * remove IID_MEMBER macro and use the new vboxIID directly.
-
由 Dawid Zamirski 提交于
This function was not implemented for vbox 5+ which removed TakeScreenShotPNGToArray but provides TakeScreenShotToArray with BitmapFormat_PNG argument which is the same thing.
-
由 Dawid Zamirski 提交于
The IVRDxServer was used because vbox < 4 used to have IVRDPServer whereas vbox >= 4 has IVRDEServer. Now that support for legacy versions is being removed, we can use IVRDEServer.
-
由 Dawid Zamirski 提交于
* removed oldMediumInterface flag and related code that was used for vbox 2.x * remove accelerate2DVideo and networkRemoveInterface flags which were also conditionals for handling legacy vbox versions.
-
由 Dawid Zamirski 提交于
this was implemented only for vbox 3 series and was mostly stubs anyway.
-
由 Dawid Zamirski 提交于
* the getMachineForSession is always true for 4.0+. This also means that checkflag argument in openSessionForMachine no longer has any meaning because it was or'ed with getMachineForSession (always true) * remove supportScreenshot flag - vbox 4.0+ supports it * remove detachDevicesExplicitly flag only relevant for < 4.0
-
由 Dawid Zamirski 提交于
VirtualBox 4.0+ uses IMedium and IHardDisk is no longer used, so * remove typef IMedium IHardDisk * merge UIHardDisk into UIMedium * update all references accordingly
-
由 Dawid Zamirski 提交于
and fold vboxAttachDrivesNew into vboxAttachDrives
-
由 Dawid Zamirski 提交于
This removes most of the code wrapped in VBOX_API_VERSION < 4000000 preprocessor checks. Those are the ones that can be safely removed without needing to update driver code to accomodate it.
-
由 Dawid Zamirski 提交于
That is, for versions older than 4.0. Also do not try to include headers for those old versions.
-
由 Dawid Zamirski 提交于
* delete SDK header files for vbox older than 4.0 * delete .c files for vbox older than 4.0 * update vbox_XPCOMCGlue to use oldest supported header file, that is 4.0 going forward. * remove deleted files from Makefile.am
-
由 Eric Blake 提交于
Among other recent changes, this includes a workaround to avoid Clang compiler bug https://llvm.org/bugs/show_bug.cgi?id=16404 having spurious link failures. * .gnulib: Update. * bootstrap: Synchronize to upstream. Signed-off-by: NEric Blake <eblake@redhat.com>
-