- 07 8月, 2012 1 次提交
-
-
由 Daniel P. Berrange 提交于
This converts the following public API datatypes to use the virObject infrastructure: virConnectPtr virDomainPtr virDomainSnapshotPtr virInterfacePtr virNetworkPtr virNodeDevicePtr virNWFilterPtr virSecretPtr virStreamPtr virStorageVolPtr virStoragePoolPtr The code is significantly simplified, since the mutex in the virConnectPtr object now only needs to be held when accessing the per-connection virError object instance. All other operations are completely lock free. * src/datatypes.c, src/datatypes.h, src/libvirt.c: Convert public datatypes to use virObject * src/conf/domain_event.c, src/phyp/phyp_driver.c, src/qemu/qemu_command.c, src/qemu/qemu_migration.c, src/qemu/qemu_process.c, src/storage/storage_driver.c, src/vbox/vbox_tmpl.c, src/xen/xend_internal.c, tests/qemuxml2argvtest.c, tests/qemuxmlnstest.c, tests/sexpr2xmltest.c, tests/xmconfigtest.c: Convert to use virObjectUnref/virObjectRef Signed-off-by: NDaniel P. Berrange <berrange@redhat.com>
-
- 06 8月, 2012 2 次提交
-
-
由 Richa Marwaha 提交于
This patch adds the capability in libvirt to check if -netdev bridge option is supported or not. Signed-off-by: NRicha Marwaha <rmarwah@linux.vnet.ibm.com> Signed-off-by: Corey Bryant<coreyb@linux.vnet.ibm.com>
-
由 Eric Blake 提交于
All callers used the same initialization seed (well, the new viratomictest forgot to look at getpid()); so we might as well make this value automatic. And while it may feel like we are giving up functionality, I documented how to get it back in the unlikely case that you actually need to debug with a fixed pseudo-random sequence. I left that crippled by default, so that a stray environment variable doesn't cause a lack of randomness to become a security issue. * src/util/virrandom.c (virRandomInitialize): Rename... (virRandomOnceInit): ...and make static, with one-shot call. Document how to do fixed-seed debugging. * src/util/virrandom.h (virRandomInitialize): Drop prototype. * src/libvirt_private.syms (virrandom.h): Don't export it. * src/libvirt.c (virInitialize): Adjust caller. * src/lxc/lxc_controller.c (main): Likewise. * src/security/virt-aa-helper.c (main): Likewise. * src/util/iohelper.c (main): Likewise. * tests/seclabeltest.c (main): Likewise. * tests/testutils.c (virtTestMain): Likewise. * tests/viratomictest.c (mymain): Likewise.
-
- 03 8月, 2012 3 次提交
-
-
由 Laine Stump 提交于
make rpm was failing with the following error: Entering directory `/home/laine/devel/libvirt/tests' make[2]: *** No rule to make target `viratomicdata.h', needed by `distdir'. Stop. viratomicdata.h is listed in tests/Makefile.am as a dependency of viratomictest, but doesn't exist, is never referenced, and removing that dependency permits make rpm to complete successfully.
-
由 Hendrik Schwartke 提交于
The access, birth, modification and change times are added to storage volumes and corresponding xml representations. This shows up in the XML in this format: <timestamps> <atime>1341933637.027319099</atime> <mtime>1341933637.027319099</mtime> </timestamps> Signed-off-by: NEric Blake <eblake@redhat.com>
-
由 Ján Tomko 提交于
capability.rng: Guest features can be in any order. nodedev.rng: Added <driver> element, <capability> phys_function and virt_functions for PCI devices. storagepool.rng: Owner or group ID can be -1. schema tests: New capabilities and nodedev files; changed owner and group to -1 in pool-dir.xml. storage_conf: Print uid_t and gid_t as signed to storage pool XML.
-
- 02 8月, 2012 3 次提交
-
-
由 Jiri Denemark 提交于
Security manager is not a dynamically loadable driver, it's a common infrastructure similar to util, conf, cpu, etc. used by individual drivers. Such code is allowed to be linked into libvirt.so. This reverts commit ec5b7bd2 and most of aae5cfb6. This patch is supposed to fix virdrivermoduletest failures for qemu and lxc drivers as well as libvirtd's ability to load qemu and lxc drivers.
-
由 Daniel P. Berrange 提交于
There are a few issues with the current virAtomic APIs - They require use of a virAtomicInt struct instead of a plain int type - Several of the methods do not implement memory barriers - The methods do not implement compiler re-ordering barriers - There is no Win32 native impl The GLib library has a nice LGPLv2+ licensed impl of atomic ops that works with GCC, Win32, or pthreads.h that addresses all these problems. The main downside to their code is that the pthreads impl uses a single global mutex, instead of a per-variable mutex. Given that it does have a Win32 impl though, we don't expect anyone to seriously use the pthread.h impl, so this downside is not significant. * .gitignore: Ignore test case * configure.ac: Check for which atomic ops impl to use * src/Makefile.am: Add viratomic.c * src/nwfilter/nwfilter_dhcpsnoop.c: Switch to new atomic ops APIs and plain int datatype * src/util/viratomic.h: inline impls of all atomic ops for GCC, Win32 and pthreads * src/util/viratomic.c: Global pthreads mutex for atomic ops * tests/viratomictest.c: Test validate to validate safety of atomic ops. Signed-off-by: NDaniel P. Berrange <berrange@redhat.com>
-
由 Peter Krempa 提交于
This patch enables the "none" USB controller for qemu guests and adds valdiation on hot-plugged devices if the guest has USB disabled. This patch also adds a set of tests to check parsing of domain XMLs that use the "none" controller and some forbidden situations concerning it.
-
- 01 8月, 2012 1 次提交
-
-
由 Daniel P. Berrange 提交于
The nwfilter and secrets drivers are both stateful and are already linked directly to libvirtd. Linking them to libvirt.so is thus wrong, likewise exporting their symbols in libvirt.so is wrong
-
- 30 7月, 2012 1 次提交
-
-
由 Daniel P. Berrange 提交于
The cfg.mk file rule to check for tab characters was not applied to perl files. Much of our Perl code is full of tabs as a result. Kill them, kill them all !
-
- 27 7月, 2012 2 次提交
-
-
由 Eric Blake 提交于
Commit f9ce7dad tried to kill uses of a raw street address, but missed a few instances. Automate things so we don't introduce new problems in the future. * cfg.mk (sc_copyright_address): New rule. (exclude_file_name_regexp--sc_copyright_address): Add exemption. * bootstrap.conf: Adjust offenders. * build-aux/augeas-gentest.pl: Likewise. * examples/systemtap/events.stp: Likewise. * examples/systemtap/qemu-monitor.stp: Likewise. * examples/systemtap/rpc-monitor.stp: Likewise. * src/dtrace2systemtap.pl: Likewise. * src/esx/esx_vi_generator.py: Likewise. * src/hyperv/hyperv_wmi_generator.py: Likewise. * src/remote/qemu_protocol.x: Likewise. * src/remote/remote_protocol.x: Likewise. * src/rpc/gensystemtap.pl: Likewise. * src/rpc/virnetprotocol.x: Likewise. * tests/object-locking.ml: Likewise. * tools/virt-xml-validate.in: Likewise.
-
由 Osier Yang 提交于
This is a follow up patch of commit f9ce7dad, it modifies all the files which declare the copyright like "See COPYING.LIB for the License of this software" to use the detailed/consistent one. And deserts the outdated comments like: * libvirt-qemu.h: * Summary: qemu specific interfaces * Description: Provides the interfaces of the libvirt library to handle * qemu specific methods * * Copy: Copyright (C) 2010, 2012 Red Hat, Inc. Uses the more compact style like: * libvirt-qemu.h: Interfaces specific for QEMU/KVM driver * * Copyright (C) 2010, 2012 Red Hat, Inc.
-
- 25 7月, 2012 1 次提交
-
-
由 Osier Yang 提交于
WITH_INTERFACE is not defined, it should be WITH_NETCF there to load the interface driver. Eric posted patch weeks ago to resolve the problems in the whole build system, but it's not finalised yet: https://www.redhat.com/archives/libvir-list/2012-June/msg01299.html I'm going to simply fix the wrong macro name here so that the interface driver could loaded, and continue the work on the listing API for interface driver.
-
- 23 7月, 2012 3 次提交
-
-
由 Peter Krempa 提交于
This patch enhances qemuxml2argvtest to deal with semantically incorrect domain XMLs, that generate errors while parsing. This patch cleans up macros that invoke the tests and changes boolean flags to a bit array flag variable.
-
由 Doug Goldstein 提交于
When the system doesn't have IPv6 available (e.g. not built into the kernel or the module isn't loaded), you can not create an IPv6 socket. The test determines earlier on that IPv6 isn't available then goes and creates a socket. This makes socket creation conditional on IPv6 availability.
-
由 Osier Yang 提交于
Per the FSF address could be changed from time to time, and GNU recommends the following now: (http://www.gnu.org/licenses/gpl-howto.html) You should have received a copy of the GNU General Public License along with Foobar. If not, see <http://www.gnu.org/licenses/>. This patch removes the explicit FSF address, and uses above instead (of course, with inserting 'Lesser' before 'General'). Except a bunch of files for security driver, all others are changed automatically, the copyright for securify files are not complete, that's why to do it manually: src/security/security_selinux.h src/security/security_driver.h src/security/security_selinux.c src/security/security_apparmor.h src/security/security_apparmor.c src/security/security_driver.c
-
- 22 7月, 2012 2 次提交
-
-
由 Jean-Baptiste Rouault 提交于
This patch adds support for parsing vmx files with shared folders enabled. Update test suite accordingly.
-
由 Jean-Baptiste Rouault 提交于
This patch adds support for generating vmx files with shared folders enabled. Update test suite accordingly.
-
- 21 7月, 2012 2 次提交
-
-
由 Eric Blake 提交于
Commit ddd6bef4 switched to the ustar format to fix an issue where 'make dist' fails to create a tarball because we have files with relative names longer than 100 bytes by the time you include a 'libvirt-0.9.13' prefix. Unfortunately, even with ustar format, the use of 'tar -ch' tries to convert symlinks to hard links, also with a name too long (omitting the -h works, but automake automatically passes -h); such symlinks were added in commit 6dcf98c8, which resulted in 'make dist' breaking again. The solution is to rename the offending symlinks to something shorter, by shortening the entire nodeinfodata naming scheme. * tests/nodeinfotest.c (mymain): Shorten test names. (linuxTestNodeInfo): Accommodate new names. * tests/nodeinfodata/*: Rename files accordingly.
-
由 Eric Blake 提交于
Commit a56c3470 introduced a use of random numbers into seclabel handling, but failed to initialize the random number generator in the testsuite. Also, fail with usual status, not 255. * tests/seclabeltest.c (main): Initialize randomness.
-
- 19 7月, 2012 2 次提交
-
-
由 Eric Blake 提交于
Commit 80533ca2 forgot to think about offline cpus. When a node cpu is offline, then its topology/ subdirectory is not present, leading to spurious error messages leaked to the user such as: libvir: error : cannot open /home/dummy/libvirt/tests/nodeinfodata/linux-nodeinfo-sysfs-test-6/node/node0/cpu7/topology/physical_package_id: No such file or directory Fix that, as well as test it; the test data is gathered from a machine with one NUMA node, hyperthreading, and with 2 of the 8 cpus offline. * src/nodeinfo.c (virNodeParseNode): Don't parse topology of offline cpus. * tests/nodeinfotest.c (mymain): Run new test. * tests/nodeinfodata/linux-nodeinfo-sysfs-test-6*: New data.
-
由 Sebastian Wiedenroth 提交于
This patch brings support to manage sheepdog pools and volumes to libvirt. It uses the "collie" command-line utility that comes with sheepdog for that. A sheepdog pool in libvirt maps to a sheepdog cluster. It needs a host and port to connect to, which in most cases is just going to be the default of localhost on port 7000. A sheepdog volume in libvirt maps to a sheepdog vdi. To create one specify the pool, a name and the capacity. Volumes can also be resized later. In the volume XML the vdi name has to be put into the <target><path>. To use the volume as a disk source for virtual machines specify the vdi name as "name" attribute of the <source>. The host and port information from the pool are specified inside the host tag. <disk type='network'> ... <source protocol="sheepdog" name="vdi_name"> <host name="localhost" port="7000"/> </source> </disk> To work right this patch parses the output of collie, so it relies on the raw output option. There recently was a bug which caused size information to be reported wrong. This is fixed upstream already and will be in the next release. Signed-off-by: NSebastian Wiedenroth <wiedi@frubar.net>
-
- 11 7月, 2012 7 次提交
-
-
由 Peter Krempa 提交于
Test filling of nodeinfo structure if /sys/devices/system/node does not exist. (Based on dump from a real machine)
-
由 Peter Krempa 提交于
This patch adds test data that describe a machine that has two physical processors that don't share same core id's on their cores. On this data the "virsh nodeinfo" reported that the machine had 10 cores per socket while the processor had only 8. (Before fixing nodeinfo gathering code).
-
由 Peter Krempa 提交于
This patch changes the way data to fill the nodeinfo structure are gathered. We've gathere the test data by iterating processors an sockets separately from nodes. The reported data was based solely on information about core id. Problems arise when eg cores in mulit-processor machines don't have same id's on both processors or maybe one physical processor contains more NUMA nodes. This patch changes the approach how we detect processors and nodes. Now we start at enumerating nodes and for each node processors, sockets and threads are enumerated separately. This approach provides acurate data that comply to docs about the nodeinfo structure. This also enables to get rid of hacks: see commits 10d9038b, ac9dd4a6. (Those changes in nodeinfo.c are efectively reverted by this patch). This patch also changes output of one of the tests, as the processor topology is now acquired more precisely.
-
由 Peter Krempa 提交于
This patch adds test data needed by the new way node information will be gathered. This patch adds symlinks to cpu cores to their corresponding node directory.
-
由 Viktor Mihajlovski 提交于
Add minimal s390-virtio domain testcase and testcases for virtio serial, net, disk for the virtio-s390 bus. Signed-off-by: NViktor Mihajlovski <mihajlov@linux.vnet.ibm.com>
-
由 Viktor Mihajlovski 提交于
Rewrote the device assignment parts in tests to use qemuDomainAssignAddresses. This way the tests will work for new device address types as they show up in the future (like s390 device types). Signed-off-by: NViktor Mihajlovski <mihajlov@linux.vnet.ibm.com>
-
由 Christophe Fergeau 提交于
Commit 5e6ce1 moved down detection of the ACPI feature in qemuParseCommandLine. However, when ACPI is detected, it clears all feature flags in def->features to only set ACPI. This used to be fine because this was the first place were def->features was set, but after the move this is no longer necessarily true because this block comes before the ACPI check: if (strstr(def->emulator, "kvm")) { def->virtType = VIR_DOMAIN_VIRT_KVM; def->features |= (1 << VIR_DOMAIN_FEATURE_PAE); } Since def is allocated in qemuParseCommandLine using VIR_ALLOC, we can always use |= when modifying def->features
-
- 05 7月, 2012 1 次提交
-
-
由 Daniel Veillard 提交于
The extra data need to be added to one test case
-
- 03 7月, 2012 1 次提交
-
-
由 Hendrik Schwartke 提交于
Introducing the attribute vendor_id to force the CPUID instruction in a kvm guest to return the specified vendor.
-
- 28 6月, 2012 1 次提交
-
-
由 Peter Krempa 提交于
The ignore_value macro is used across libvirt. This patch includes it in the internal header and cleans all other includes.
-
- 21 6月, 2012 1 次提交
-
-
由 Gerd Hoffmann 提交于
qemu 1.1 features a xhci controller, this patch adds support for it. Signed-off-by: NGerd Hoffmann <kraxel@redhat.com>
-
- 11 6月, 2012 2 次提交
-
-
由 Eric Blake 提交于
Right now, the only way to get at the contents of a virBuffer is to destroy it. But there are cases in my upcoming patches where peeking at the contents makes life easier. I suppose this does open up the potential for bad code to dereference a stale pointer, by disregarding the docs that the return value is invalid on the next virBuf operation, but such is life. * src/util/buf.h (virBufferCurrentContent): New declaration. * src/util/buf.c (virBufferCurrentContent): Implement it. * src/libvirt_private.syms (buf.h): Export it. * tests/virbuftest.c (testBufAutoIndent): Test it.
-
由 Guido Günther 提交于
This fixes the build on 32bit systems which otherwise fails with: virnetmessagetest.c: In function 'testMessageHeaderEncode': virnetmessagetest.c:75:9: error: format '%zu' expects argument of type 'size_t', but argument 7 has type 'long unsigned int' [-Werror=format]
-
- 05 6月, 2012 4 次提交
-
-
由 Michal Privoznik 提交于
Currently, we are allocating buffer for RPC messages statically. This is not such pain when RPC limits are small. However, if we want ever to increase those limits, we need to allocate buffer dynamically, based on RPC message len (= the first 4 bytes). Therefore we will decrease our mem usage in most cases and still be flexible enough in corner cases.
-
由 Jiri Denemark 提交于
QEMU 1.1.0 has been officially released. With 1.1.0 QEMU went back to three-digits version even for the initial release and I renamed the data files to match this fact. They were generated with qemu-system-x86_64 -help >tests/qemuhelpdata/qemu-1.1.0 qemu-system-x86_64 \ -device ? \ -device pci-assign,? \ -device virtio-blk-pci,? \ -device virtio-net-pci,? \ -device scsi-disk,? 2>tests/qemuhelpdata/qemu-1.1.0-device
-
由 Beat Jörg 提交于
I came across a bug that the command line generated for passthrough of the host parallel port /dev/parport0 by libvirt for QEMU is incorrect. It currently produces: -chardev tty,id=charparallel0,path=/dev/parport0 -device isa-parallel,chardev=charparallel0,id=parallel0 The first parameter is "tty". It sould be "parport". If I launch qemu with -chardev parport,... it works as expected. I have already filled a bug report ( https://bugzilla.redhat.com/show_bug.cgi?id=823879 ), the topic was already on the list some months ago: https://www.redhat.com/archives/libvirt-users/2011-September/msg00095.htmlSigned-off-by: NEric Blake <eblake@redhat.com>
-
由 Eric Blake 提交于
It is possible to deadlock libvirt by having a domain with XML longer than PIPE_BUF, and by writing a hook script that closes stdin early. This is because libvirt was keeping a copy of the child's stdin read fd open, which means the write fd in the parent will never see EPIPE (remember, libvirt should always be run with SIGPIPE ignored, so we should never get a SIGPIPE signal). Since there is no error, libvirt blocks waiting for a write to complete, even though the only reader is also libvirt. The solution is to ensure that only the child can act as a reader before the parent does any writes; and then dealing with the fallout of dealing with EPIPE. Thankfully, this is not a security hole - since the only way to trigger the deadlock is to install a custom hook script, anyone that already has privileges to install a hook script already has privileges to do any number of other equally disruptive things to libvirt; it would only be a security hole if an unprivileged user could install a hook script to DoS a privileged user. * src/util/command.c (virCommandRun): Close parent's copy of child read fd earlier. (virCommandProcessIO): Don't let EPIPE be fatal; the child may be done parsing input. * tests/commandhelper.c (main): Set up a SIGPIPE situation. * tests/commandtest.c (test20): Trigger it. * tests/commanddata/test20.log: New file.
-