- 29 10月, 2014 17 次提交
-
-
由 Taowei Luo 提交于
If the <path> in target element is not given, libvirt will put the new volume in ~/.VirtualBox by default.
-
由 Taowei Luo 提交于
The CreateHardDiskMedium only support create HardDisk for medium type, and it only works when vbox version >= 3.1. This patch make the function workable with all vbox versions and rename it as CreateHardDisk. In vbox 2.2 and 3.0 this function will create a IHardDisk object. In vbox later than 3.0, this function will create a IMedium object.
-
由 Taowei Luo 提交于
-
由 Taowei Luo 提交于
In old version, function FindMedium in UIVirtualBox doesn't work for vbox2.2 and 3.0. We assume it will not be used when vbox in these versions. But when rewriting vboxStorageVolLookupByPath, we found it was compatibe to use FindMedium to get a IHardDisk object, even in vbox old versions. To achieve this, first make FindMedium call FindHardDisk when VBOX_API_VERSION < 4000000. Then change the argument type **IMedium to **IHardDisk. (As the rules in heriachy, we can't transfer a IHardDisk to match IMedium in output) In vbox 2.2 and 3.0, the caller must be aware that they will get a IHardDisk object in return.
-
由 Taowei Luo 提交于
-
由 Taowei Luo 提交于
-
由 Taowei Luo 提交于
-
由 Taowei Luo 提交于
We use typedef IMedium IHardDisk to make IHardDisk hierachy from IMedium (Actually it did on vbox 2.2 and 3.0's C++ API). So when calling VBOX_MEDIUM_FUNC_ARG*(IHardDisk, func, args) we can directly replace it to gVBoxAPI.UIMedium.func(IHardDisk, args) When dealing with this two types, we get some rules from it's hierachy relationship. When using IHardDisk and IMedium as input, we can't transfer a IMedium to IHardDisk. Like: gVBoxAPI.UIHardDisk.func(IHardDisk *hardDisk, args) Here, we can't put a *IMedium as a argument. When using IHardDisk and IMedium as output, we can't transfer a IHardDisk to IMedium. Like: gVBoxAPI.UIMachine.GetMedium(IMedium **out) Here, we can't put a **IHardDisk as a argument. If this case do happen, we either change the API to GetHardDisk or write a new one.
-
由 Taowei Luo 提交于
This patch rewrites the following functions *vboxStorageOpen *vboxStorageClose *vboxConnectNumOfStoragePools *vboxConnectListStoragePools *vboxStoragePoolLookupByName These functions do not call any vbox API, so I directly move it from vbox_tmpl.c to vbox_storage.c A small improvement is made on vboxConnectListStoragePools. The if condition nnames == 1 is modified to nnames > 0. So if the caller put more than one slot to get active storage pools, the new function will return exactly one, while the old one would only return 0.
-
由 Taowei Luo 提交于
There are lots of macro declarations in vbox_common.c, vbox_network.c, and the coming vbox_storage.c which simply the API calling. Since they are totally the same. We shouldn't keep three copies of that, so they are moved to vbox_common.h. Note: The macros are quite different from those in vbox_tmpl.c, because they are using different API.
-
由 Taowei Luo 提交于
We should follow the rules that CHECK macro only do checking works. But this VBOX_OBJECT_CHECK and VBOX_OBJECT_HOST_CHECK declared some varibles at the same time, which broke the rule. So the patch removed this macros and dispatched it in source code. The storage driver is still not rewriten at this point. So, I remains the VBOX_OBJECT_CHECK macro in vbox_tmpl.c. But this will finally be removed in patch 'vbox: Remove unused things in vbox_tmpl.c'
-
由 Taowei Luo 提交于
I made a mistake on copyright in patch 7f0f415b. If I copied codes from one file to another, I should copy the copyright announcement as well. So this patch makes up the copyright which I should have added in the previous patch.
-
由 Shanzhi Yu 提交于
When starting an active block commit job in virsh, it will report "Block Commit started", but for more precise message it could report "Active Block Commit started". Signed-off-by: NShanzhi Yu <shyu@redhat.com> Signed-off-by: NMichal Privoznik <mprivozn@redhat.com>
-
由 Cédric Bosdonnat 提交于
libc has another constant with the same name, which leads to redefinition error when building against static libvirt
-
由 Michal Privoznik 提交于
Not every error message from qemu-ga has to have the 'class' field filled out. For instance, I've seen this error message lately: qemuAgentCheckError:1047 : unable to execute QEMU agent command \ {"execute":"guest-set-time"}: \ {"error":{"desc":"Invalid parameter type, expected: integer"}} However, this got translated into rather generic error message: internal error: unable to execute QEMU agent command 'guest-set-time': unknown QEMU command error So we've dropped better error message in favor of a generic one. This is due to our code which expects 'class' which is not present here. Signed-off-by: NMichal Privoznik <mprivozn@redhat.com>
-
由 Tony Krowiak 提交于
This patch adds functionality to processNicRxFilterChangedEvent(). The old and new multicast lists are compared and the filters in the macvtap are programmed to match the guest's filters. Signed-off-by: NTony Krowiak <akrowiak@linux.vnet.ibm.com>
-
由 Tony Krowiak 提交于
This patch provides the utility functions to needed to synchronize the changes made to a guest domain network device's multicast filter with the corresponding macvtap device's filter on the host: * Get/add/remove multicast MAC addresses * Get the macvtap device's RX filter list Signed-off-by: NTony Krowiak <akrowiak@linux.vnet.ibm.com> Signed-off-by: NLaine Stump <laine@laine.org>
-
- 28 10月, 2014 1 次提交
-
-
由 Eric Blake 提交于
https://bugzilla.redhat.com/show_bug.cgi?id=956506 documents that given a domain where an internal snapshot parent has an external snapshot child, we lacked a safety check when trying to use the --children-only option to snapshot-delete: $ virsh start dom $ virsh snapshot-create-as dom internal $ virsh snapshot-create-as dom external --disk-only $ virsh snapshot-delete dom external error: Failed to delete snapshot external error: unsupported configuration: deletion of 1 external disk snapshots not supported yet $ virsh snapshot-delete dom internal --children error: Failed to delete snapshot internal error: unsupported configuration: deletion of 1 external disk snapshots not supported yet $ virsh snapshot-delete dom internal --children-only Domain snapshot internal children deleted While I'd still like to see patches that actually do proper external snapshot deletion, we should at least fix the inconsistency in the meantime. With this patch: $ virsh snapshot-delete dom internal --children-only error: Failed to delete snapshot internal error: unsupported configuration: deletion of 1 external disk snapshots not supported yet * src/qemu/qemu_driver.c (qemuDomainSnapshotDelete): Fix condition. Signed-off-by: NEric Blake <eblake@redhat.com>
-
- 27 10月, 2014 1 次提交
-
-
由 Laine Stump 提交于
virNetDevLinkDump() gets a message from netlink into "resp", then calls nlmsg_parse() to fill the table "tb" with pointers into resp. It then returns tb to its caller, but not before freeing the buffer at resp. That means that all the callers of virNetDevLinkDump() are examining memory that has already been freed. This can be verified by filling the buffer at resp with garbage prior to freeing it (or, I suppose, just running libvirtd under valgrind) then performing some operation that calls virNetDevLinkDump(). The code has been like this ever since virNetDevLinkDump() was written - the original author didn't notice it, and neither did later additional users of the function. It has only been pure luck (or maybe a lack of heavy load, and/or maybe an allocation algorithm in malloc() that delays re-use of just-freed memory) that has kept this from causing errors, for example when configuring a PCI passthrough or macvtap passthrough network interface. The solution taken in this patch is the simplest - just return resp to the caller along with tb, then have the caller free it after they are finished using the data (pointers) in tb. I alternately could have made a cleaner interface by creating a new struct that put tb and resp together along with a vir*Free() function for it, but this function is only used in a couple places, and I'm not sure there will be additional new uses of virNetDevLinkDump(), so the value of adding a new type, extra APIs, etc. is dubious.
-
- 25 10月, 2014 16 次提交
-
-
由 Julio Faracco 提交于
In a clean build system (Ubuntu 14.04), the viridentitytest failed to compile. Even if all the SELINUX libraries and depedencies are installed. See the error message below: [...] CC viridentitytest.o CCLD viridentitytest /usr/bin/ld: viridentitytest.o: undefined reference to symbol 'security_disable' //lib/x86_64-linux-gnu/libselinux.so.1: error adding symbols: DSO missing from command line collect2: error: ld returned 1 exit status make: *** [viridentitytest] Error 1 Simply adding the variable SELINUX_LIBS in viridentitytest rules of Makefile.am to include SELINUX libraries into viridentitytest solved that compilation issue. Signed-off-by: NJulio Faracco <jcfaracco@gmail.com> Signed-off-by: NEric Blake <eblake@redhat.com>
-
由 Shanzhi Yu 提交于
libvirtd will report below error if it does not make sure driver was not NULL in virRegisterNetworkDriver $ libvirtd 2014-10-24 09:24:36.443+0000: 28876: info : libvirt version: 1.2.10 2014-10-24 09:24:36.443+0000: 28876: error : virRegisterNetworkDriver:549 : driver in virRegisterNetworkDriver must not be NULL 2014-10-24 09:24:36.443+0000: 28876: error : virDriverLoadModule:99 : Failed module registration vboxNetworkRegister Signed-off-by: NShanzhi Yu <shyu@redhat.com> Signed-off-by: NEric Blake <eblake@redhat.com>
-
由 Daniel P. Berrange 提交于
The recently added driver-*.h files were not listed in the Makefile.am causing them to be missed when creating dists. Signed-off-by: NDaniel P. Berrange <berrange@redhat.com>
-
由 Daniel P. Berrange 提交于
The <sysinfo> data block was indented by 2 spaces too many. This was missed because we never had any test validating the XML formatting.
-
由 Daniel P. Berrange 提交于
The cfg.mk rule for checking preprocessor indentation was mistakenly missing the libvirt.h.in file due to bad file extension matching rule. Fix that and the resolve the incorrect indentation that is identified.
-
由 Daniel P. Berrange 提交于
Create a new libvirt-host.h file to hold the public API definitions for the virConnect type. This header file is not self-contained, so applications will not directly include it. They will continue to #include <libvirt/libvirt.h>
-
由 Daniel P. Berrange 提交于
Create a new libvirt-domain.h file to hold the public API definitions for the virDomain type. This header file is not self-contained, so applications will not directly include it. They will continue to #include <libvirt/libvirt.h>
-
由 Daniel P. Berrange 提交于
Create a new libvirt-event.h file to hold the public API definitions for the virEvent type. This header file is not self-contained, so applications will not directly include it. They will continue to #include <libvirt/libvirt.h>
-
由 Daniel P. Berrange 提交于
Create a new libvirt-storage.h file to hold the public API definitions for the virStorage/Vol type. This header file is not self-contained, so applications will not directly include it. They will continue to #include <libvirt/libvirt.h>
-
由 Daniel P. Berrange 提交于
Create a new libvirt-stream.h file to hold the public API definitions for the virStream type. This header file is not self-contained, so applications will not directly include it. They will continue to #include <libvirt/libvirt.h> Note the definition of virStreamPtr is not moved, since that must be declared early for all other libvirt APIs to be able to reference it.
-
由 Daniel P. Berrange 提交于
Create a new libvirt-secret.h file to hold the public API definitions for the virSecret type. This header file is not self-contained, so applications will not directly include it. They will continue to #include <libvirt/libvirt.h>
-
由 Daniel P. Berrange 提交于
Create a new libvirt-nodedev.h file to hold the public API definitions for the virNodeDevice type. This header file is not self-contained, so applications will not directly include it. They will continue to #include <libvirt/libvirt.h>
-
由 Daniel P. Berrange 提交于
Create a new libvirt-nwfilter.h file to hold the public API definitions for the virNWFilter type. This header file is not self-contained, so applications will not directly include it. They will continue to #include <libvirt/libvirt.h>
-
由 Daniel P. Berrange 提交于
Create a new libvirt-interface.h file to hold the public API definitions for the virInterface type. This header file is not self-contained, so applications will not directly include it. They will continue to #include <libvirt/libvirt.h>
-
由 Daniel P. Berrange 提交于
Create a new libvirt-network.h file to hold the public API definitions for the virNetwork type. This header file is not self-contained, so applications will not directly include it. They will continue to #include <libvirt/libvirt.h>
-
由 Daniel P. Berrange 提交于
Create a new libvirt-domain-snapshot.h file to hold the public API definitions for the virDomainSnapshot type. This header file is not self-contained, so applications will not directly include it. They will continue to #include <libvirt/libvirt.h>
-
- 24 10月, 2014 5 次提交
-
-
由 Daniel P. Berrange 提交于
Introduce a src/libvirt-host.c file to hold all the methods related to the virConnect type.
-
由 Daniel P. Berrange 提交于
Introduce a src/libvirt-domain.c file to hold all the methods related to the virDomain type.
-
由 Daniel P. Berrange 提交于
The virTypedParameterValidateSet method will need to be used from several libvirt-*.c files so must be non-static Signed-off-by: NDaniel P. Berrange <berrange@redhat.com>
-
由 Daniel P. Berrange 提交于
Introduce a src/libvirt-storage.c file to hold all the methods related to the virStorage{Pool,Vol} types.
-
由 Daniel P. Berrange 提交于
Introduce a src/libvirt-stream.c file to hold all the methods related to the virStream type.
-