- 26 3月, 2010 4 次提交
-
-
由 Daniel P. Berrange 提交于
The virtual box driver was directly accesing the domain events structs instead of using the APIs provided. To prevent this kind of abuse, make the struct definitions private, forcing use of the internal APIs. This requires adding one extra internal API. * src/conf/domain_event.h, src/conf/domain_event.c: Move virDomainEventCallback and virDomainEvent structs into the source file instead of header * src/vbox/vbox_tmpl.c: Use official APIs for dispatching domain events instead of accessing structs directly.
-
由 Daniel P. Berrange 提交于
The current API for domain events has a number of problems - Only allows for domain lifecycle change events - Does not allow the same callback to be registered multiple times - Does not allow filtering of events to a specific domain This introduces a new more general purpose domain events API typedef enum { VIR_DOMAIN_EVENT_ID_LIFECYCLE = 0, /* virConnectDomainEventCallback */ ...more events later.. } int virConnectDomainEventRegisterAny(virConnectPtr conn, virDomainPtr dom, /* Optional, to filter */ int eventID, virConnectDomainEventGenericCallback cb, void *opaque, virFreeCallback freecb); int virConnectDomainEventDeregisterAny(virConnectPtr conn, int callbackID); Since different event types can received different data in the callback, the API is defined with a generic callback. Specific events will each have a custom signature for their callback. Thus when registering an event it is neccessary to cast the callback to the generic signature eg int myDomainEventCallback(virConnectPtr conn, virDomainPtr dom, int event, int detail, void *opaque) { ... } virConnectDomainEventRegisterAny(conn, NULL, VIR_DOMAIN_EVENT_ID_LIFECYCLE, VIR_DOMAIN_EVENT_CALLBACK(myDomainEventCallback) NULL, NULL); The VIR_DOMAIN_EVENT_CALLBACK() macro simply does a "bad" cast to the generic signature * include/libvirt/libvirt.h.in: Define new APIs for registering domain events * src/driver.h: Internal driver entry points for new events APIs * src/libvirt.c: Wire up public API to driver API for events APIs * src/libvirt_public.syms: Export new APIs * src/esx/esx_driver.c, src/lxc/lxc_driver.c, src/opennebula/one_driver.c, src/openvz/openvz_driver.c, src/phyp/phyp_driver.c, src/qemu/qemu_driver.c, src/remote/remote_driver.c, src/test/test_driver.c, src/uml/uml_driver.c, src/vbox/vbox_tmpl.c, src/xen/xen_driver.c, src/xenapi/xenapi_driver.c: Stub out new API entries
-
由 Eric Blake 提交于
* cfg.mk (sc_prohibit_test_minus_a): Rename... (sc_prohibit_test_minus_ao): ...and flag '-o', too.
-
由 Jim Meyering 提交于
* cfg.mk (useless_free_options): Add virDomainDefFree to the list of free-like functions. * src/test/test_driver.c (testDomainCreateXML): Remove useless-if- before-virDomainDefFree. * src/conf/domain_conf.c (virDomainAssignDef): Likewise
-
- 25 3月, 2010 4 次提交
-
-
由 Jiri Denemark 提交于
-
由 Eric Blake 提交于
* configure.ac: Use "test cond1 || test cond2" instead. * m4/compiler-flags.m4 (gl_COMPILER_FLAGS): Likewise. * tests/test-lib.sh (verbose): Likewise.
-
由 Matthias Bolte 提交于
The keys of entries in a VMX file are case insensitive. Both scsi0:1.fileName and scsi0:1.filename are valid. Therefore, make the conf parser compare names case insensitive in VMX mode to accept every capitalization variation. Also add test cases for this.
-
由 Matthias Bolte 提交于
<source file=''/> results in def->disks[i]->src == NULL. But vboxDomainDefineXML and vboxDomainAttachDevice didn't check def->disks[i]->src for NULL and expected it to be a valid string. Add checks for def->disks[i]->src != NULL to fix the segfault.
-
- 24 3月, 2010 6 次提交
-
-
由 Philipp Hahn 提交于
The conversion from seconds to milliseconds should only be done for actual delays >= 0, not for the magic -1 value used for infinite timeouts. Signed-off-by: NPhilipp Hahn <hahn@univention.de>
-
由 Jim Meyering 提交于
* src/Makefile.am (augeas-check): New target, just to give the existing rule a name. At the same time, prefix the commands with $(AM_V_GEN), to avoid unexpected build output with V=0 which is the default.
-
由 Jim Meyering 提交于
* cfg.mk (sc_prohibit_test_minus_a): New rule.
-
由 Jim Meyering 提交于
* configure.ac: Use "test cond1 && test cond2" instead.
-
由 Jim Meyering 提交于
* tests/test-lib.sh: "echo -n" is not portable. Use printf instead. Remove unnecessary uses of "eval-in-subshell" (subshell is sufficient). Remove uses of tests' -a operator; it is not portable. Instead, use "test cond && test cond2". * tests/schematestutils.sh: Replace use of test's -a.
-
由 Matthias Bolte 提交于
This change only affects the output of tests that have an exact multiple of 40 test cases. For example the domainschematest currently: TEST: domainschematest ........................................ 40 ........................................ 80 ........................................ 120 ........................................ 160 ........................................ 200 OK PASS: domainschematest It outputs additional 40 spaces on the last line. The domainschematest output is fixed by the change in test-lib.sh. The change in testutils.c fixes this for tests written in C. Currently no C test has an exact multiple of 40 test cases, but I checked it and the same problem exists there. This patch stops that in both cases.
-
- 23 3月, 2010 21 次提交
-
-
由 Jiri Denemark 提交于
-
由 Jiri Denemark 提交于
-
由 Jiri Denemark 提交于
-
由 Jim Meyering 提交于
Before, this function would blindly accept an invalid def->dst and then abuse the idx=-1 it would get from virDiskNameToIndex, when passing it invalid strings like "xvda:disk" and "sda1". Now, this function returns -1 upon failure. * src/conf/domain_conf.c (virDomainDiskDefAssignAddress): as above. Update callers. * src/conf/domain_conf.h: Update prototype. * src/qemu/qemu_conf.c: Update callers.
-
由 Jim Meyering 提交于
* tests/xml2sexprdata/xml2sexpr-curmem.xml: Remove ":disk" suffix from "<target dev=" value. * tests/xml2sexprdata/xml2sexpr-pv-localtime.xml: Likewise. * tests/xml2sexprdata/xml2sexpr-curmem.sexpr: Update expected output to match. * tests/xml2sexprdata/xml2sexpr-pv-localtime.sexpr: Likewise.
-
由 Jim Meyering 提交于
* src/util/util.c (virDiskNameToIndex): Accept sda1, and map it to "sda". I.e., accept and ignore any string of trailing digits.
-
由 Matthias Bolte 提交于
virSetCloseExec and virExecDaemonize were missing a body on Windows.
-
由 Matthias Bolte 提交于
Correctly disable pthread related code if pthread is not avialable, in order to get it compile with MinGW on Windows.
-
由 Matthias Bolte 提交于
MSYS' ln doesn't work well in the way bootstrap uses it with relative paths.
-
由 Matthias Bolte 提交于
Even if gnulib can provide stubs, it won't help that much. So just replace affected util functions (virFileOperation and virDirCreate) with stubs on Windows. Both functions aren't used on libvirt's client side, so this is fine for MinGW builds.
-
由 Matthias Bolte 提交于
rsync is used to download .po files, but SKIP_PO=true is set and downloading .po files is skipped. This also fixes a problem with MinGW builds, because rsync is not available for MinGW.
-
由 Matthias Bolte 提交于
Add dummy bodies for HAVE_GETPWUID_R and HAVE_MNTENT_H dependent functions for MinGW builds.
-
由 Matthias Bolte 提交于
Now the virsh tests compile at least.
-
由 Matthias Bolte 提交于
Use the __declspec(dllexport/dllimport) stuff to export the symbol, otherwise accessing virConnectAuthPtrDefault triggers a segfault.
-
由 Matthias Bolte 提交于
This symbol is conditional, it would need to be exported conditional to work properly with MinGW. So just remove it, as no other driver register function is listed in the symbols files.
-
由 Matthias Bolte 提交于
This is necessary for MinGW builds.
-
由 Matthias Bolte 提交于
-
由 Matthias Bolte 提交于
Used in esxDomainLookupByName and to be used in esxDomainDefineXML later.
-
由 Matthias Bolte 提交于
If esxVI_String_DeepCopyValue or esxVI_SelectionSpec_AppendToList fail then selectionSpec would leak. Add a free call in the failure path to fix the leak.
-
由 Matthias Bolte 提交于
Replace 'method' with 'function' and get the filename's suffix right.
-
由 Matthias Bolte 提交于
This is actually a consequence of the reworked required parameter checking: Unify the required parameter check into a Validate function instead of doing it separately im the (de)serialization part. The required parameter checking for the mapped methods parameter was done in the (de)serialize functions before. Now it's explicitly done in the mapped method itself.
-
- 22 3月, 2010 3 次提交
-
-
由 Jim Fehlig 提交于
Invoking virDomainSetMemory() on lxc driver results in libvirtd segfault when cgroups has not been configured on the host. Ensure driver->cgroup is non-null before invoking virCgroupForDomain(). To prevent similar segfaults in the future, ensure driver parameter to virCgroupForDomain() is non-null before dereferencing.
-
由 Cole Robinson 提交于
This can be triggered by the qemuStartVMDaemon cleanup path if a VM references a non-existent USB device (by product) in the XML.
-
由 Guido Günther 提交于
"virsh dominfo <vm>" crashes if there's no primary security driver set since we only intialize the secmodel.model and secmodel.doi if we have one. Attached patch checks for securityPrimaryDriver instead of securityDriver since the later is always set in qemudSecurityInit(). Closes: http://bugs.debian.org/574359
-
- 20 3月, 2010 2 次提交
-
-
由 Jiri Denemark 提交于
-
由 Jiri Denemark 提交于
-