- 26 4月, 2017 1 次提交
-
-
由 Daniel P. Berrange 提交于
A long time ago we imported the keymaps.csv file from GTK-VNC so we can do conversions between keycode sets. Meanwhile lots of bug fixes have gone into this CSV file and libvirt hasn't kept in sync. The keymaps.csv file and associated generator script has been pulled out of GTK-VNC into a dedicated GIT repo for use as a submodule. This allows GTK-VNC, SPICE-GTK, QEMU and libvirt to share the same master database and tools and pushing updates merely requires a submodule commit update as with gnulib. The test suite is updated to cover some extra boundary conditions. Signed-off-by: NDaniel P. Berrange <berrange@redhat.com>
-
- 19 4月, 2017 1 次提交
-
-
由 John Ferlan 提交于
Move all the virNetworkObj related API/data structures into their own modules virnetworkobj.{c,h} from the network_conf.{c,h} Purely code motion at this point plus adjustments to cleanly build
-
- 08 4月, 2017 1 次提交
-
-
由 Dawid Zamirski 提交于
This patch reworks the Hyper-V driver structs and the code generator to provide seamless support for both Hyper-V 2008 and 2012 or newer. This does not implement any new libvirt APIs, it just adapts existing 2008-only driver to also handle 2012 and newer by sharing as much driver code as possible (currently it's all of it :-)). This is needed to set the foundation before we can move forward with implementing the rest of the driver APIs. With the 2012 release, Microsoft introduced "v2" version of Msvm_* WMI classes. Those are largely the same as "v1" (used in 2008) but have some new properties as well as need different wsman request URIs. To accomodate those differences, most of work went into the code generator so that it's "aware" of possibility of multiple versions of the same WMI class and produce C code accordingly. To accomplish this the following changes were made: * the abstract hypervObject struct's data member was changed to a union that has "common", "v1" and "v2" members. Those are structs that represent WMI classes that we get back from wsman response. The "common" struct has members that are present in both "v1" and "v2" which the driver API callbacks can use to read the data from in version-independent manner (if version-specific member needs to be accessed the driver can check priv->wmiVersion and read from "v1" or "v2" as needed). Those structs are guaranteed to be memory aligned by the code generator (see the align_property_members implementation that takes care of that) * the generator produces *_WmiInfo for each WMI class "family" that holds an array of hypervWmiClassInfoPtr each providing information as to which request URI to use for each "version" of given WMI class as well as XmlSerializerInfo struct needed to unserilize WS-MAN responsed into the data structs. The driver uses those to make proper WS-MAN request depending on which version it's connected to. * the generator no longer produces "helper" functions such as hypervGetMsvmComputerSystemList as those were originally just simple wrappers around hypervEnumAndPull, instead those were hand-written now (to keep driver changes minimal). The reason is that we'll have more code coming implementing missing libvirt APIs and surely code patterns will emerge that would warrant more useful "utility" functions like that. * a hypervInitConnection was added to the driver which "detects" Hyper-V version by testing simple wsman request using v2 then falling back to v1, obviously if both fail, the we're erroring out. To express how the above translates in code: void hypervImplementSomeLibvirtApi(virConnectPtr conn, ...) { hypervPrivate *priv = conn->privateData; virBuffer query = VIR_BUFFER_INITIALIZER; hypervWqlQuery wqlQuery = HYPERV_WQL_QUERY_INITIALIZER; Msvm_ComputerSystem *list = NULL; /* typed hypervObject instance */ /* the WmiInfo struct has the data needed for wsman request and * response handling for both v1 and v2 */ wqlQuery.info = Msvm_ComputerSystem_WmiInfo; wqlQuery.query = &query; virBufferAddLit(&query, "select * from Msvm_ComputerSystem"); if (hypervEnumAndPull(priv, &wqlQuery, (hypervObject **) &list) < 0) { goto cleanup; } if (list == NULL) { /* none found */ goto cleanup; } /* works with v1 and v2 */ char *vmName = list->data.common->Name; /* access property that is in v2 only */ if (priv->wmiVersion == HYPERV_WMI_VERSION_V2) char *foo = list->data.v2->V2Property; else char *foo = list->data.v1->V1Property; cleanup: hypervFreeObject(priv, (hypervObject *)list); }
-
- 06 4月, 2017 1 次提交
-
-
由 Ján Tomko 提交于
Introduce STRICT_FRAME_LIMIT_CFLAGS that will be used for production code and RELAXED_FRAME_LIMIT_CFLAGS for tests. Raising the limit for tests allows building them with clang with optimizations disabled.
-
- 28 3月, 2017 1 次提交
-
-
由 Jiri Denemark 提交于
Signed-off-by: NJiri Denemark <jdenemar@redhat.com>
-
- 27 3月, 2017 5 次提交
-
-
由 Erik Skultety 提交于
Beside creation, disposal, getter, and setter methods the module exports methods to work with lists of mediated devices. Signed-off-by: NErik Skultety <eskultet@redhat.com>
-
由 Martin Kletzander 提交于
There is no "node driver" as there was before, drivers have to do their own ACL checking anyway, so they all specify their functions and nodeinfo is basically just extending conf/capablities. Hence moving the code to src/conf/ is the right way to go. Also that way we can de-duplicate some code that is in virsysfs and/or virhostcpu that got duplicated during the virhostcpu.c split. And Some cleanup is done throughout the changes, like adding the vir* prefix etc. Signed-off-by: NMartin Kletzander <mkletzan@redhat.com>
-
由 Martin Kletzander 提交于
There is no reason for it not to be in the utils, all global symbols under that file already have prefix vir* and there is no reason for it to be part of DRIVER_SOURCES because that is just a leftover from older days (pre-driver modules era, I believe). Signed-off-by: NMartin Kletzander <mkletzan@redhat.com>
-
由 Martin Kletzander 提交于
By using this we are able to easily switch the sysfs path being used (fake it). This will not only help tests in the future but can be also used from files where the code is duplicated currently. Signed-off-by: NMartin Kletzander <mkletzan@redhat.com>
-
由 Peter Krempa 提交于
qemu for some time already sets node names automatically for the block nodes. This patch adds code that attempts a best-effort detection of the node names for the backing chain from the output of 'query-named-block-nodes'. The only drawback is that the data provided by qemu needs to be matched by the filename as seen by qemu and thus if two disks share a single backing store file the detection won't work. This will allow us to use qemu commands such as 'block-set-write-threshold' which only accepts node names. In this patch only the detection code is added, it will be used later.
-
- 18 3月, 2017 1 次提交
-
-
由 John Ferlan 提交于
Move all the StoragePoolObj related API's into their own module virstorageobj from the storage_conf Purely code motion at this point, plus adjustments to cleanly build Signed-off-by: NJohn Ferlan <jferlan@redhat.com>
-
- 16 3月, 2017 1 次提交
-
-
由 John Ferlan 提交于
Move code from storage_conf into storage_adapter_conf Pure code motion Signed-off-by: NJohn Ferlan <jferlan@redhat.com>
-
- 15 3月, 2017 1 次提交
-
-
由 Roman Bogorodskiy 提交于
Introduce config file support for the bhyve driver. The only available setting at present is 'firmware_dir' for specifying a directory with UEFI firmware files.
-
- 08 3月, 2017 1 次提交
-
-
由 John Ferlan 提交于
Move all the NWFilterObj API's into their own module virnwfilterobj from the nwfilter_conf Purely code motion at this point, plus adjustments to cleanly build.
-
- 07 3月, 2017 2 次提交
-
-
由 Peter Krempa 提交于
Whole implementations along with helper totalling screens of code were conditionally compiled. That made the code totally unreadable and untestable. Rename functions to have the architecture in the name so that all can be compiled at the same time and introduce header to allow testing them all.
-
由 Daniel P. Berrange 提交于
Ensure virsystemdpriv.h gets included in dist tarballs. Signed-off-by: NDaniel P. Berrange <berrange@redhat.com>
-
- 06 3月, 2017 1 次提交
-
-
由 John Ferlan 提交于
Move all the InterfaceObj API's into their own module virinterfaceobj from the interface_conf Purely code motion at this point.
-
- 04 3月, 2017 1 次提交
-
-
由 John Ferlan 提交于
Move all the NodeDeviceObj API's into their own module virnodedeviceobj from the node_device_conf Purely code motion at this point, plus adjustments to cleanly build.
-
- 22 2月, 2017 1 次提交
-
-
由 Peter Krempa 提交于
If driver modules are enabled turn storage driver backends into dynamically loadable objects. This will allow greater modularity for binary distributions, where heavyweight dependencies as rbd and gluster can be avoided by selecting only a subset of drivers if the rest is not necessary. The storage modules are installed into 'LIBDIR/libvirt/storage-backend/' and users can override the location by using 'LIBVIRT_STORAGE_BACKEND_DIR' environment variable. rpm based distros will at this point install all the backends when libvirt-daemon-driver-storage package is installed.
-
- 21 2月, 2017 1 次提交
-
-
由 Peter Krempa 提交于
Compile the storage driver into modules rather than by compiling all files together. All modules are still linked together statically.
-
- 20 2月, 2017 1 次提交
-
-
由 Peter Krempa 提交于
The utils code should stay separated from other code (except for very well justified cases). Unfortunately commit 272769be made it trivial to break the separation (and not get slapped by the syntax-check rule) by adding -I src/conf to the CFLAGS for utils. Remove this shortcut and except the two offenders from the syntax check so that the codebase can be kept separated.
-
- 19 2月, 2017 2 次提交
-
-
由 John Ferlan 提交于
Create a virscsihost.c and place the functions there. That removes the last #ifdef __linux__ from virutil.c. Take the opporunity to also change the function names and in one case the parameters slightly
-
由 John Ferlan 提交于
Rather than have them mixed in with the virutil apis, create a separate virvhba.c module and move the vHBA related calls into there. Soon there will be more added. Also modify the names of the functions and some arguments to be more indicative of what is really happening. Adjust the callers respectively. While I was changing fchosttest, rather than the non-descriptive names test1...test6, rename them to match what the test is doing.
-
- 26 1月, 2017 1 次提交
-
-
由 Olga Krishtal 提交于
Added general definitions for vstorage pool backend including the build options to add --with-storage-vstorage checking. In order to use vstorage as a backend for a storage pool vstorage tools (vstorage and vstorage-mount) need to be installed. Signed-off-by: NOlga Krishtal <okrishtal@virtuozzo.com>
-
- 19 1月, 2017 2 次提交
-
-
由 Peter Krempa 提交于
Separate the headers so that functions only required for testing of the sheepdog backend are separated into their own file.
-
由 Peter Krempa 提交于
The file became a garbage dump for all kinds of utility functions over time. Move them to a separate file so that the files can become a clean interface for the storage backends.
-
- 11 1月, 2017 2 次提交
-
-
由 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.
-
由 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
-
- 09 1月, 2017 1 次提交
-
-
由 Daniel P. Berrange 提交于
Add helper APIs / objects for managing secret events Signed-off-by: NDaniel P. Berrange <berrange@redhat.com>
-
- 02 1月, 2017 1 次提交
-
-
由 Michal Privoznik 提交于
If the nss module is disabled we don't need to build the supplementary library for it either. Signed-off-by: NMichal Privoznik <mprivozn@redhat.com>
-
- 21 12月, 2016 3 次提交
-
-
由 Pavel Hrdina 提交于
Signed-off-by: NPavel Hrdina <phrdina@redhat.com>
-
由 Pavel Hrdina 提交于
This renames MSCOM_LIBS to WIN32_EXTRA_LIBS to make it consistent with WIN32_EXTRA_CFLAGS. Signed-off-by: NPavel Hrdina <phrdina@redhat.com>
-
由 Pavel Hrdina 提交于
Rename DRIVER_MODULE_(LDFLAGS|LIBS|CFLAGS) to unify the naming. Signed-off-by: NPavel Hrdina <phrdina@redhat.com>
-
- 15 12月, 2016 2 次提交
-
-
由 Michal Privoznik 提交于
Instead of trying to fix our security drivers, we can use a simple trick to relabel paths in both namespace and the host. I mean, if we enter the namespace some paths are still shared with the host so any change done to them is visible from the host too. Therefore, we can just enter the namespace and call SetAllLabel()/RestoreAllLabel() from there. Yes, it has slight overhead because we have to fork in order to enter the namespace. But on the other hand, no complexity is added to our code. Signed-off-by: NMichal Privoznik <mprivozn@redhat.com>
-
由 Michal Privoznik 提交于
Namely, virFileGetACLs, virFileSetACLs, virFileFreeACLs and virFileCopyACLs. These functions are going to be required when we are creating /dev for qemu. We have copy anything that's in host's /dev exactly as is. Including ACLs. Signed-off-by: NMichal Privoznik <mprivozn@redhat.com>
-
- 09 12月, 2016 1 次提交
-
-
由 Mehdi Abaakouk 提交于
This is just a code move of virstat.c to virnetdevtap.c
-
- 08 12月, 2016 1 次提交
-
-
由 Daniel P. Berrange 提交于
When redoing the website we deleted the libvirtLogo.png file not remembering that the test driver screenshot API impl relied on it. Rather than having the test driver use the logo as a side effect, give it its own dedicated image to use. This is installed in /usr/share/libvirt/test-screenshot.png and is taken from a NeXT Cube running WorldWideWeb[1]. The very first web browser in existance, running on the hardware it was originally written on. [1] https://en.wikipedia.org/wiki/WorldWideWebSigned-off-by: NDaniel P. Berrange <berrange@redhat.com>
-
- 06 12月, 2016 2 次提交
-
-
由 Michal Privoznik 提交于
So far the NSS module looks up only hostnames as provided by guests themselves. However, there are some cases where this is not enough: e.g. when there's a fresh new guest being installed (with some generic hostname) say from a live ISO image; or some (older) systems don't advertise their hostname in DHCP transactions at all. In cases like that it would be helpful if we translate domain name as seen by libvirt too so that users can: # virsh start $dom && ssh $dom In order to achieve that new libvirt-guest module is introduced, while older libvirt module maintains its current behaviour (that is translating guest provided names into IP addresses). Signed-off-by: NMichal Privoznik <mprivozn@redhat.com>
-
由 Michal Privoznik 提交于
This module will be used to track: <domain, mac address list> pairs. It will be important to know these mappings without libvirt connection (that is from a JSON file), because NSS module will use those to provide better host name translation. Signed-off-by: NMichal Privoznik <mprivozn@redhat.com>
-
- 25 11月, 2016 1 次提交
-
-
由 Eric Farman 提交于
For a new hostdev type='scsi_host' we have a number of required functions for managing, adding, and removing the host device to/from guests. Provide the basic infrastructure for these tasks. The name "SCSIVHost" (and its variants) is chosen to avoid conflicts with existing code named "SCSIHost" to refer to a hostdev type='scsi' protcol='none'. Signed-off-by: NEric Farman <farman@linux.vnet.ibm.com>
-