- 18 3月, 2014 26 次提交
-
-
由 Daniel P. Berrange 提交于
As part of the goal to get away from doing string matching on filenames when deciding whether to emit a log message, turn the virLogSource enum into a struct which contains a log "name". There will eventually be one virLogSource instance statically declared per source file. To minimise churn in this commit though, a single global instance is used. Signed-off-by: NDaniel P. Berrange <berrange@redhat.com>
-
由 Daniel P. Berrange 提交于
The dtrace probe macros rely on the logging API. We can't make the internal.h header include the virlog.h header though since that'd be a circular include. Instead simply split the dtrace probes into their own header file, since there's no compelling reason for them to be in the main internal.h header. Signed-off-by: NDaniel P. Berrange <berrange@redhat.com>
-
由 Daniel P. Berrange 提交于
The error reporting code will invoke a callback when any error is raised and the default callback will print to stderr. The virRaiseErrorFull method also sends all error messages on to the logging code, which also prints to stderr by default. To avoid duplicated data on stderr, the logging code has some logic to skip emission when no log outputs are configured, which checks whether the virLogSource == VIR_LOG_FROM_ERROR. Meanwhile the libvirtd daemon can register another callback which is used to reduce log message priority from error to a lower level. When this is used we do want messages to end up on stderr, so the error code will conditionally use either VIR_LOG_FROM_FILE or VIR_LOG_FROM_ERROR depending on whether such a callback is provided. This will all complicate later refactoring. By pushing the checks for whether a log output is present up a level into the error code, the special cases can be isolated in one place. Signed-off-by: NDaniel P. Berrange <berrange@redhat.com>
-
由 Daniel P. Berrange 提交于
With the vast number of log debug statements in the code, the logging framework has a measurable performance impact on libvirt code, particularly in the daemon event loop. The global log buffer records every single log message triggered whether anyone cares to see them or not. This makes it impossible to eliminate the overhead of printf format expansions in any of the logging code. It is possible to disable the global log buffer in libvirtd itself, but this doesn't help client side library code. Also even if disabled by the config file, the existence of the feature makes other performance improvements in the logging layer impossible. Instead of logging every single message to the global buffer, only log messages that pass the log filters. This if libvirtd is set to have log_filters="1:libvirt 1:qemu" the global log buffer will only get filled with those messages instead of everything. This reduces the performance burden, as well as improving the signal to noise ratio of the log buffer. As a quick benchmark, a demo program that registers 500 file descriptors with the event loop (eg equiv of 500 QEMU monitor commands), creates pending read I/O on every FD, and then runs virEventRunDefaultImpl() took 1 minute 40 seconds to do 51200 iterations with nearly all the time shown against the logging code. After this optimization it only takes 4.6 seconds. Signed-off-by: NDaniel P. Berrange <berrange@redhat.com>
-
由 Michal Privoznik 提交于
Coverity spotted a use of possibly undefined variable. If a server is restarting as an result of update, the JSON file that keeps current value of some variables will not contain the new variables. This is the case of @max_anonymous_clients too. We are correctly querying if there's "max_anonymous_clients" in the JSON, however, we are not setting a sane default if there's none. Signed-off-by: NMichal Privoznik <mprivozn@redhat.com>
-
由 Michal Privoznik 提交于
We allow translation from no_bandwidth to has_bandwidth for a vnic. However, going in the opposite direction is not implemented. It's not limitation of the API rather than internal implementation. The problem is, we correctly detect that user hasn't specified any outbound (say he wants to clear out outbound). However, this gets overwritten by current vnic outbound settings. Then, virNetDevBandwidthSet doesn't change anything. We need to stop overwriting the outbound if users don't want us to. Same applies for inbound. Signed-off-by: NMichal Privoznik <mprivozn@redhat.com>
-
由 Martin Kletzander 提交于
If there should be some sort of separator it is better to use comment with the filename, copyright, description, license information and authors. Found by: git grep -nH '^$' | grep '\.[ch]:1:' Signed-off-by: NMartin Kletzander <mkletzan@redhat.com>
-
由 Martin Kletzander 提交于
This patch is not trying to fix every switch, just the ones I worked with last time, because some of these were especially unreadable. Covers enums virDomainGraphicsType and virDomainChrType (where applicable). Also sort its cases by their value. Signed-off-by: NMartin Kletzander <mkletzan@redhat.com>
-
由 Martin Kletzander 提交于
Commit a1cbe4b5 added a check for spaces around assignments and this patch extends it to checks for spaces around '=='. One exception is virAssertCmpInt where comma after '==' is acceptable (since it is a macro and '==' is its argument). Signed-off-by: NMartin Kletzander <mkletzan@redhat.com>
-
由 Martin Kletzander 提交于
Signed-off-by: NMartin Kletzander <mkletzan@redhat.com>
-
由 Martin Kletzander 提交于
Eliminate all the code re-use which checks for priv->agentError or priv->agent. Signed-off-by: NMartin Kletzander <mkletzan@redhat.com>
-
由 Nehal J Wani 提交于
While running qemuxml2xmltest, it was found that valgrind pointed out the following memory leak: ==21905== 26 bytes in 1 blocks are definitely lost in loss record 23 of 69 ==21905== at 0x4A069EE: malloc (vg_replace_malloc.c:270) ==21905== by 0x3E782A754D: xmlStrndup (in /usr/lib64/libxml2.so.2.7.6) ==21905== by 0x4CD986D: virDomainChrSourceDefParseXML (domain_conf.c:7233) ==21905== by 0x4CE4199: virDomainChrDefParseXML (domain_conf.c:7512) ==21905== by 0x4CFAF3F: virDomainDefParseXML (domain_conf.c:12303) ==21905== by 0x4CFB46E: virDomainDefParseNode (domain_conf.c:13031) ==21905== by 0x4CFB5E9: virDomainDefParse (domain_conf.c:12973) ==21905== by 0x41E9D8: testCompareXMLToXMLFiles (qemuxml2xmltest.c:40) ==21905== by 0x41EBAA: testCompareXMLToXMLHelper (qemuxml2xmltest.c:93) ==21905== by 0x421D21: virtTestRun (testutils.c:199) ==21905== by 0x41FCE9: mymain.part.0 (qemuxml2xmltest.c:244) ==21905== by 0x42249D: virtTestMain (testutils.c:782) ==21905== ... and 7 more
-
由 Felix Geyer 提交于
Make virt-aa-helper create rules to allow VMs access to filesystem mounts from the host. Signed-off-by: NFelix Geyer <debfx@fobos.de> Signed-off-by: NHiroshi Miura <miurahr@linux.com> Signed-off-by: NSerge Hallyn <serge.hallyn@ubuntu.com> Signed-off-by: NGuido Günther <agx@sigxcpu.org>
-
由 Nehal J Wani 提交于
While running domainsnapshotxml2xmltest, it was found that valgrind pointed out the following memory leak: ==32176== 42 (32 direct, 10 indirect) bytes in 1 blocks are definitely lost in loss record 42 of 66 ==32176== at 0x4A069EE: malloc (vg_replace_malloc.c:270) ==32176== by 0x4A06B62: realloc (vg_replace_malloc.c:662) ==32176== by 0x4C65A07: virReallocN (viralloc.c:243) ==32176== by 0x4C65B2E: virExpandN (viralloc.c:292) ==32176== by 0x4C65E30: virInsertElementsN (viralloc.c:434) ==32176== by 0x4CD71F3: virDomainDiskSourceDefParse (domain_conf.c:5078) ==32176== by 0x4CF6EF4: virDomainSnapshotDefParseNode (snapshot_conf.c:151) ==32176== by 0x4CF7314: virDomainSnapshotDefParseString (snapshot_conf.c:410) ==32176== by 0x41FB8D: testCompareXMLToXMLHelper (domainsnapshotxml2xmltest.c:100) ==32176== by 0x420FD1: virtTestRun (testutils.c:199) ==32176== by 0x41F859: mymain (domainsnapshotxml2xmltest.c:222) ==32176== by 0x42174D: virtTestMain (testutils.c:782) ==32176== ... and one more.
-
由 Roman Bogorodskiy 提交于
Add a check that domain is active before attempting to destroy it.
-
由 Daniel P. Berrange 提交于
The virNWFilterVarCombIterNext method will free its parameter when it gets to the end of the iterator. This is somewhat misleading design, making it appear as if the caller has a memory leak. Remove the free'ing of the parameter and ensure that the calling method ebiptablesCreateRuleInstanceIterate free's it instead. Signed-off-by: NDaniel P. Berrange <berrange@redhat.com>
-
由 Daniel P. Berrange 提交于
The ebiptablesAddRuleInst method would leak an instance of ebiptablesRuleInstPtr if it hit OOM when adding it to the list of instances. Remove the pointless helper method virNWFilterRuleInstAddData and just inline the call to VIR_APPEND_ELEMENT and free the instance on failure. Signed-off-by: NDaniel P. Berrange <berrange@redhat.com>
-
由 Daniel P. Berrange 提交于
The libxl driver reads /proc/xen/capabilities to see if it is on a Dom0 kernel. If that file does not even exist though, an error is logged. Check for the file existance before trying to read its contents to avoid the log message. Signed-off-by: NDaniel P. Berrange <berrange@redhat.com>
-
由 Roman Bogorodskiy 提交于
Addition of the hostbridge device was mistakenly placed to bhyveBuildNetArgStr(). This could result in hostbridge device not being added to the commandline if there are no network devices specified, but hostbridge device should be added unconditionally. Fix by placing it to virBhyveProcessBuildBhyveCmd().
-
由 Roman Bogorodskiy 提交于
-
由 Pavel Hrdina 提交于
Signed-off-by: NPavel Hrdina <phrdina@redhat.com>
-
由 Michal Privoznik 提交于
https://bugzilla.redhat.com/show_bug.cgi?id=992980 This config tunable allows users to determine the maximum number of accepted but yet not authenticated users. Signed-off-by: NMichal Privoznik <mprivozn@redhat.com>
-
由 Michal Privoznik 提交于
The counter gets incremented on each unauthenticated client added to the server and decremented whenever the client authenticates. Signed-off-by: NMichal Privoznik <mprivozn@redhat.com>
-
由 Michael Chapman 提交于
- As of commit 2ff4c137, all virGet*() functions in datatypes.c always return pointers to new objects. Objects are not cached in a per-connection hashtable. - Fix variable names in comments for all vir*Dispose() functions in datatypes.c. - Add comments for virGetStream(), virStreamDispose(), virGetDomainSnapshot(), virDomainSnapshotDispose(). Signed-off-by: NMichael Chapman <mike@very.puzzling.org>
-
由 Roman Bogorodskiy 提交于
Add bhyveNodeGetInfo() which is a simple wrapper around nodeGetInfo() from src/nodeinfo.c.
-
由 Nehal J Wani 提交于
Our current pidfile acquire APis (virPidFileAcquire) simply return -1 upon failure to acquire a lock. This patch adds a parameter 'bool waitForLock' which instructs the APIs if we want to make it block and wait for the lock or not.
-
- 17 3月, 2014 2 次提交
-
-
由 Daniel P. Berrange 提交于
Thre was a syntax error in checking virRegisterStateDriver in the remote driver, and bogus checking of a void return type of virDomainConfNWFilterRegister in nwfilter. Signed-off-by: NDaniel P. Berrange <berrange@redhat.com>
-
由 Pavel Hrdina 提交于
Coverity found an issue in lxc_driver and uml_driver that we don't check the return value of register functions. I've also updated all other places and unify the way we check the return value. Signed-off-by: NPavel Hrdina <phrdina@redhat.com>
-
- 15 3月, 2014 3 次提交
-
-
由 Cole Robinson 提交于
Right now we are parsing the XML as though it's live, which for example will choke on hardcoded XML like: <seclabel type='dynamic' model='selinux' relabel='yes'/> Erroring with: $ sudo virsh domxml-to-native qemu-argv f error: XML error: security label is missing All drivers are fixed, but only qemu was tested.
-
由 Cole Robinson 提交于
Just skip the vhost command line generation, since this won't work if attempting to run manually.
-
由 Cole Robinson 提交于
-S causes qemu to start in the paused state. Since XML2Native is intended to generate something that users can run directly, this will trip them up.
-
- 14 3月, 2014 9 次提交
-
-
由 Roman Bogorodskiy 提交于
We have to explicitly destroy TAP devices on FreeBSD because they're not freed after being closed, otherwise we end up with orphaned TAP devices after destroying a domain.
-
由 Roman Bogorodskiy 提交于
Do not include test_libvirt_lockd.aug when configured without qemu driver. https://bugzilla.redhat.com/show_bug.cgi?id=1071777
-
由 John Ferlan 提交于
A recent change to openvz_driver.c caused Coverity to make additional comparisons and find that the openvzRegister() was not checking the status of virRegisterDriver() call like other callers and thus generated a CHECKED_RETURN condition
-
由 Laine Stump 提交于
These last files had such a small change count I just put them into a single patch.
-
由 Laine Stump 提交于
-
由 Laine Stump 提交于
This same set of functions is used by the qemu, xen, and lxc drivers' connectSysInfo function.
-
由 Laine Stump 提交于
This is also never seen by a human.
-
由 Laine Stump 提交于
Again completely mechanical, but a lot of lines.
-
由 Laine Stump 提交于
Completely mechanical changes, but there were a lot of lines so I made it a separate patch.
-