- 03 12月, 2013 1 次提交
-
-
由 Chen Hanxiao 提交于
s/causes/cause/ Each event callback has a single detail parameter, and can thus only report a single cause. Also, make all the sub-event documentation use similar wording. Signed-off-by: NChen Hanxiao <chenhanxiao@cn.fujitsu.com> Signed-off-by: NEric Blake <eblake@redhat.com>
-
- 02 12月, 2013 25 次提交
-
-
由 Peter Krempa 提交于
To avoid future pain, add placeholder functions to get the actual snapshot disk type.
-
由 Peter Krempa 提交于
-
由 Peter Krempa 提交于
Add virDomainDiskAuthClear to help cleaning out the struct in other places too.
-
由 Peter Krempa 提交于
When doing an internal snapshot on a VM with sheepdog or RBD disks we would not set a flag to mark the domain is using internal snapshots and might end up creating a mixed snapshot. Move the setting of the variable to avoid this problem.
-
由 Peter Krempa 提交于
To simplify operations on virDomainDiskHostDef arrays we will need deep copy and freeing functions. Add and properly export them.
-
由 Peter Krempa 提交于
Consider the following valid snapshot XML as the <driver> element is allowed to be empty in the domainsnapshot.rng schema: $ cat snap.xml <domainsnapshot> <disks> <disk name='vda' snapshot='external'> <source file='/tmp/foo'/> <driver/> </disk> </disks> </domainsnapshot> produces the following error: $ virsh snapshot-create domain snap.xml error: internal error: unknown disk snapshot driver '(null)' The driver type is parsed as NULL from the XML as the attribute is not present and then directly used to produce the error message. With this patch the attempt to parse the driver type is skipped if not present to avoid changing the schema to forbid the empty driver element.
-
由 Peter Krempa 提交于
Disk source elements for snapshots were using separate code from our config parser. As snapshots can be stored on more than just regular files, we will need the universal parser to allow us to expose a variety of snapshot disk targets. This patch reuses the config parsers and formatters to do the job. This initial support only changes the code without any visible XML change.
-
由 Peter Krempa 提交于
This code will be reused in the snapshot disk definition parser.
-
由 Peter Krempa 提交于
The code is common for all the various disk types. Split it out to a common function.
-
由 Peter Krempa 提交于
Avoid if statements when used with virBufferEscapeString which automaticaly omits the whole string. Also add some line breaks to visualy separate the code.
-
由 Peter Krempa 提交于
The <source> element formatting function was expecting a virDomainDiskDefPtr to store the data. As snapshots are not using this data structure to hold the data, we need to add an internal function which splits out individual fields separately.
-
由 Peter Krempa 提交于
Commit bae124e4 was accidentaly pushed without review feedback worked in. Fix it up.
-
由 Peter Krempa 提交于
Tweak the existing file so that it can be tested for command line corectness.
-
由 Peter Krempa 提交于
Tweak the existing file to test command line generator too.
-
由 Peter Krempa 提交于
To support testing of "volume" disk backing, we need to implement a few disk driver backend functions. The fake storage driver uses files in storagepoolxml2xmlout/POOLNAME.xml as XML files for pool definitions and volume names are in format "VOL_TYPE+VOL_PATH". By default type "block" is assumed (for iSCSI test compatibility). The choice of this approach along with implemented functions was made so that <disk type='volume'> can be tested in the xml2argv test.
-
由 Daniel Veillard 提交于
* configure.ac docs/news.html.in libvirt.spec.in: update for release * po/*.po*: update and merge localizations from transifex
-
由 Ryota Ozaki 提交于
The original code ignored errors of virDomainHostdevDefAlloc, however, we should properly do error return from the function if it occurs. The fix pulls out virDomainHostdevDefAlloc from the loop and executes it all together before the loop. So we can easily return on errors without the notion of other memory allocations in the loop. The deallocation code is separated from the allocation code because it will be used by a further patch for fixing other error handlings. Reported-by: NLaine Stump <laine@laine.org> Signed-off-by: NRyota Ozaki <ozaki.ryota@gmail.com>
-
由 Ryota Ozaki 提交于
The fixed loop used logical OR to combine two conditions, however, it is apparently incorrect and logical AND is correct. We can fix it by replacing OR with AND, but this patch instead fixes the problem by getting rid of the first conditional statement: USBFilterCount < def->nhostdevs. It isn't needed because USBFilterCount will never be greater than or equal to def->nhostdevs. def->nhostdevs is calculated in the following code above the loop in question like this: for (i = 0; i < deviceFilters.count; i++) { PRBool active = PR_FALSE; IUSBDeviceFilter *deviceFilter = deviceFilters.items[i]; deviceFilter->vtbl->GetActive(deviceFilter, &active); if (active) { def->nhostdevs++; } } And the loop is constructed as like this: for (i = 0; (USBFilterCount < def->nhostdevs) || (i < deviceFilters.count); i++) { PRBool active = PR_FALSE; (snip) deviceFilter->vtbl->GetActive(deviceFilter, &active); if (!active) continue; (snip) USBFilterCount++; } So def->nhostdevs is the number of active device filters and USBFilterCount is counted up only when a device filter is active. Thus, we can remove USBFilterCount < def->nhostdevs safely. Reported-by: NLaine Stump <laine@laine.org> Signed-off-by: NRyota Ozaki <ozaki.ryota@gmail.com>
-
由 Chen Hanxiao 提交于
s/caused/causes Signed-off-by: NChen Hanxiao <chenhanxiao@cn.fujitsu.com>
-
由 Daniel P. Berrange 提交于
Add a link to the http://sandbox.libvirt.org sub-site from the list of libraries related to libvirt. Also fix formatting for the ruby libvirt binding. Signed-off-by: NDaniel P. Berrange <berrange@redhat.com>
-
由 Daniel P. Berrange 提交于
Adds a new page to the website "Deployment" section describing what data is sent to the audit logs and how to configure libvirtd audit settings. Signed-off-by: NDaniel P. Berrange <berrange@redhat.com>
-
由 Nehal J Wani 提交于
While running nwfilterxml2xmltest, it was found that valgrind pointed out the following error... ==7466== 16 bytes in 1 blocks are definitely lost in loss record 26 of 90 ==7466== at 0x4A06B6F: calloc (vg_replace_malloc.c:593) ==7466== by 0x4C651AD: virAlloc (viralloc.c:142) ==7466== by 0x4D0450D: virNWFilterDefParseNode (nwfilter_conf.c:2575) ==7466== by 0x4D05D84: virNWFilterDefParse (nwfilter_conf.c:2647) ==7466== by 0x401FDE: testCompareXMLToXMLHelper (nwfilterxml2xmltest.c:39) ==7466== by 0x402DE1: virtTestRun (testutils.c:138) ==7466== by 0x4018E9: mymain (nwfilterxml2xmltest.c:111) ==7466== by 0x403482: virtTestMain (testutils.c:593) ==7466== by 0x341F421A04: (below main) (libc-start.c:225) ...21 times, which are related to 21 tests in nwfilterxml2xmltest.c which sent EXPECT_WARN = false. There were two scenarios in virNWFilterDefParseXML(), when the variable 'entry' was malloc'ed, but not freed.
-
由 Nehal J Wani 提交于
This patch fixes the memory leaks found while running qemuxml2argvtest ==8260== 3 bytes in 1 blocks are definitely lost in loss record 1 of 129 ==8260== at 0x4A0887C: malloc (vg_replace_malloc.c:270) ==8260== by 0x341F485E21: strdup (strdup.c:42) ==8260== by 0x4CADCFF: virStrdup (virstring.c:554) ==8260== by 0x4CBB839: virXPathString (virxml.c:90) ==8260== by 0x4CE753A: virDomainDefParseXML (domain_conf.c:11478) ==8260== by 0x4CEB4FE: virDomainDefParseNode (domain_conf.c:12742) ==8260== by 0x4CEB675: virDomainDefParse (domain_conf.c:12684) ==8260== by 0x425958: testCompareXMLToArgvHelper (qemuxml2argvtest.c:107) ==8260== by 0x427111: virtTestRun (testutils.c:138) ==8260== by 0x41D3FE: mymain (qemuxml2argvtest.c:452) ==8260== by 0x4277B2: virtTestMain (testutils.c:593) ==8260== by 0x341F421A04: (below main) (libc-start.c:225) ==8260== ==8260== 4 bytes in 1 blocks are definitely lost in loss record 5 of 129 ==8260== at 0x4A0887C: malloc (vg_replace_malloc.c:270) ==8260== by 0x341F485E21: strdup (strdup.c:42) ==8260== by 0x4CADCFF: virStrdup (virstring.c:554) ==8260== by 0x4CBB839: virXPathString (virxml.c:90) ==8260== by 0x4CE753A: virDomainDefParseXML (domain_conf.c:11478) ==8260== by 0x4CEB4FE: virDomainDefParseNode (domain_conf.c:12742) ==8260== by 0x4CEB675: virDomainDefParse (domain_conf.c:12684) ==8260== by 0x425958: testCompareXMLToArgvHelper (qemuxml2argvtest.c:107) ==8260== by 0x427111: virtTestRun (testutils.c:138) ==8260== by 0x41D39A: mymain (qemuxml2argvtest.c:451) ==8260== by 0x4277B2: virtTestMain (testutils.c:593) ==8260== by 0x341F421A04: (below main) (libc-start.c:225) ==8260==
-
由 Nehal J Wani 提交于
Fix 6 minor spelling errors in virsh doc
-
由 Nehal J Wani 提交于
Fix 8 minor spelling errors in docs/*.html.in
-
- 29 11月, 2013 1 次提交
-
-
由 Daniel P. Berrange 提交于
When setting up filesystems backed by block devices or file images, the SELinux mount options must be used to ensure the correct context is set Signed-off-by: NDaniel P. Berrange <berrange@redhat.com>
-
- 28 11月, 2013 6 次提交
-
-
由 Laine Stump 提交于
This patch resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1035336 The basic problem is that during a network update, the required iptables rules sometimes change, and this was being handled by simply removing and re-adding the rules. However, the removal of the old rules was done based on the *new* state of the network, which would mean that some of the rules would not match those currently in the system, so the old rules wouldn't be removed. This patch removes the old rules prior to updating the network definition then adds the new rules as soon as the definition is updated. Note that this could lead to a stray packet or two during the interim, but that was already a problem before (the period of limbo is now just slightly longer). While moving the location for the rules, I added a few more sections that should result in the iptables rules being redone: DHCP_RANGE and DHCP_HOST - these are needed because adding/removing a dhcp host entry could lead to the dhcp service being started/stopped, which would require that the mangle rule that fixes up dhcp response checksums sould need to be added/removed, and this wasn't being done.
-
由 Daniel P. Berrange 提交于
The code for extracting sub-mounts would just do a STRPREFIX check on the mount. This was flawed because if there were the following mounts /etc/aliases /etc/aliases.db and '/etc/aliases' was asked for, it would return both even though the latter isn't a sub-mount. Signed-off-by: NDaniel P. Berrange <berrange@redhat.com>
-
由 Daniel P. Berrange 提交于
Move the code for lxcContainerGetSubtree into the virfile module creating 2 new functions int virFileGetMountSubtree(const char *mtabpath, const char *prefix, char ***mountsret, size_t *nmountsret); int virFileGetMountReverseSubtree(const char *mtabpath, const char *prefix, char ***mountsret, size_t *nmountsret); Add a new virfiletest.c test case to validate the new code. Signed-off-by: NDaniel P. Berrange <berrange@redhat.com>
-
由 Daniel P. Berrange 提交于
Add virStringSortCompare and virStringSortRevCompare as standard functions to use with qsort. Signed-off-by: NDaniel P. Berrange <berrange@redhat.com>
-
由 Eric Blake 提交于
'make distcheck' has been broken since commit 21685c95; basically, it emulates the case of a read-only $(srcdir) (such as building from a tarball exploded onto a CD-ROM), but we were creating our fake pci device as a symlink into $(srcdir) and failing when that requires opening the config file for writing: 3) testVirPCIDeviceReset ... libvirt: error : Failed to open config space file '/sys/bus/pci/devices/0000:00:01.0/config': Permission denied Fix it by copying rather than symlinking. * tests/virpcimock.c (make_file): Add parameter to allow binary creation; adjust all callers. (pci_device_new_from_stub): Copy rather than symlink. Signed-off-by: NEric Blake <eblake@redhat.com>
-
由 Eric Blake 提交于
While trying to debug a failure of virpcitest during 'make distcheck', I noticed that with a VPATH build, 'cd tests; ./virpcitest' fails for an entirely different reason. To reproduce the distcheck failure, I had to run 'cd tests; abs_srcdir=/path/to/src ./virpcitest'. But we document in HACKING that all of our tests are supposed to be runnable without requiring extra environment variables. The solution: hardcode the location of srcdir into the just-built binaries, rather than requiring make to prepopulate environment variables. With this, './virpcitest' passes even in a VPATH build (provided that $(srcdir) is writable; a followup patch will fix the conditions required by 'make distcheck'). [Note: the makefile must still pass on directory variables to the test environment of shell scripts, since those aren't compiled. So while this solves the case of a compiled test, it still requires environment variables to pass a VPATH build of any shell script test case that relies on srcdir.] * tests/Makefile.am (AM_CFLAGS): Define abs_srcdir in all compiled tests. * tests/testutils.h (abs_srcdir): Quit declaring. * tests/testutils.c (virtTestMain): Rely on define rather than environment variable. * tests/virpcimock.c (pci_device_new_from_stub): Rely on define. * tests/cputest.c (mymain): Adjust abs_top_srcdir default. * tests/qemuxml2argvtest.c (mymain): Likewise. * tests/qemuxmlnstest.c (mymain): Likewise. Signed-off-by: NEric Blake <eblake@redhat.com>
-
- 27 11月, 2013 6 次提交
-
-
由 Peter Krempa 提交于
Export string conversion from and to the virStorageVolType enum.
-
由 Eric Blake 提交于
When attempting to backport gluster pools to an older versoin where there is no VIR_STRDUP, I got a crash from calling strdup(,NULL). Rather than relying on the current else branch safely doing nothing when there is no fd, it is easier to just skip it. While at it, there's no need to explicitly set perms.label to NULL after a VIR_FREE(). * src/storage/storage_backend.c (virStorageBackendUpdateVolTargetInfoFD): Minor optimization. Signed-off-by: NEric Blake <eblake@redhat.com>
-
由 Bing Bu Cao 提交于
The virsh command 'domxml-to-native' (virConnectDomainXMLToNative()) converts all network devices to "type='ethernet'" in order to make it more likely that the generated command could be run directly from a shell (other libvirt network device types end up referencing file descriptors for tap devices assumed to have been created by libvirt, which can't be done in this case). During this conversion, all of the netdev parameters are cleared out, then specific items are filled in after changing the type. The MAC address was not one of these preserved items, and the result was that mac addresses in the generated commandlines were always 00:00:00:00:00:00. This patch saves the mac address before the conversion, then repopulates it afterwards, so the proper mac addresses show up in the commandline. Signed-off-by: NBing Bu Cao <mars@linux.vnet.ibm.com> Signed-off-by: NLaine Stump <laine@laine.org>
-
由 Jim Fehlig 提交于
When looking for numad with AC_PATH_PROG, include /usr/sbin in the search path.
-
由 Eric Blake 提交于
Commit 348b4e25 introduced a potential problem (thankfully not in any release): we are attempting to use virFileReadHeaderFD() on a file that was opened with O_NONBLOCK. While this shouldn't be a problem in practice (because O_NONBLOCK typically doesn't affect regular or block files, and fifos and sockets cannot be storage volumes), it's better to play it safe to avoid races from opening an unexpected file type while also avoiding problems with having to handle EAGAIN while read()ing. Based on a report by Dan Berrange. * src/storage/storage_backend.c (virStorageBackendVolOpenCheckMode): Fix up fd after avoiding race. Signed-off-by: NEric Blake <eblake@redhat.com>
-
由 Gao feng 提交于
Tell user how to resolve the problem that fail to log in the container. Signed-off-by: NGao feng <gaofeng@cn.fujitsu.com>
-
- 26 11月, 2013 1 次提交
-
-
由 Gao feng 提交于
Also after commit 5ff9d8a65ce80efb509ce4e8051394e9ed2cd942 vfs: Lock in place mounts from more privileged users, unprivileged user has no rights to umount the mounts that inherited from parent mountns. right now, I have no good idea to fix this problem, we need to do more research. this patch just skip unmounting these mounts for shared root. BTW, I think when libvirt lxc enables user namespace, the configuation that shares root with host is very rara. Signed-off-by: NGao feng <gaofeng@cn.fujitsu.com>
-