- 30 10月, 2014 1 次提交
-
-
由 Peter Krempa 提交于
The code that parses the schema from the URI touches the "hosts[0]" member of the storage file source structure in case the URI contains a schema. The hosts array was not yet allocated at the point in the code where the transport protocol was parsed and set. This lead to a crash of libvirtd. Fix the code by allocating the "hosts" array upfront and add a test case to verify this scenario. (Unfortunately this requires shuffling the test case numbers too). Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1156288
-
- 29 10月, 2014 39 次提交
-
-
由 Eric Blake 提交于
Now that all offenders have been cleaned, turn on a syntax-check rule to prevent future offenders. * cfg.mk (sc_prohibit_static_zero_init): New rule. * src/qemu/qemu_driver.c (qemuDomainBlockJobImpl): Avoid false positive. Signed-off-by: NEric Blake <eblake@redhat.com>
-
由 Eric Blake 提交于
C guarantees that static variables are zero-initialized. Some older compilers (and also gcc -fno-zero-initialized-in-bss) create larger binaries if you explicitly zero-initialize a static variable. * src/libxl/libxl_driver.c: Fix initialization. * src/lxc/lxc_controller.c: Likewise. * src/openvz/openvz_util.c (openvzKBPerPages): Likewise. * src/phyp/phyp_driver.c: Likewise. * src/remote/remote_driver.c: Likewise. * src/test/test_driver.c: Likewise. * src/uml/uml_driver.c: Likewise. * src/vbox/vbox_XPCOMCGlue.c: Likewise. * src/vbox/vbox_tmpl.c: Likewise. * src/xen/xen_driver.c: Likewise. * src/xen/xen_hypervisor.c: Likewise. Signed-off-by: NEric Blake <eblake@redhat.com>
-
由 Eric Blake 提交于
C guarantees that static variables are zero-initialized. Some older compilers (and also gcc -fno-zero-initialized-in-bss) create larger binaries if you explicitly zero-initialize a static variable. * src/conf/nwfilter_conf.c: Fix initialization. * src/cpu/cpu_x86.c: Likewise. * src/interface/interface_backend_netcf.c: Likewise. * src/locking/lock_daemon.c: Likewise. * src/locking/lock_driver_lockd.c: Likewise. * src/locking/lock_driver_sanlock.c: Likewise. * src/network/bridge_driver.c: Likewise. * src/node_device/node_device_udev.c: Likewise. * src/nwfilter/nwfilter_learnipaddr.c: Likewise. * src/rpc/virnetserver.c: Likewise. * src/security/security_selinux.c (virSecuritySELinuxGenSecurityLabel): Likewise. Signed-off-by: NEric Blake <eblake@redhat.com>
-
由 Eric Blake 提交于
C guarantees that static variables are zero-initialized. Some older compilers (and also gcc -fno-zero-initialized-in-bss) create larger binaries if you explicitly zero-initialize a static variable. * tests/eventtest.c: Fix initialization. * tests/testutils.c: Likewise. * tests/virhostdevtest.c: Likewise. * tests/virportallocatortest.c: Likewise. * tests/virscsitest.c: Likewise. Signed-off-by: NEric Blake <eblake@redhat.com>
-
由 Eric Blake 提交于
C guarantees that static variables are zero-initialized. Some older compilers (and also gcc -fno-zero-initialized-in-bss) create larger binaries if you explicitly zero-initialize a static variable. * tools/virsh-console.c (got_signal): Drop unused variable. * tools/virsh-domain.c: Fix initialization. * tools/virsh.c: Likewise. * tools/virt-host-validate-common.c (virHostMsgWantEscape): Likewise. Signed-off-by: NEric Blake <eblake@redhat.com>
-
由 Eric Blake 提交于
C guarantees that static variables are zero-initialized. Some older compilers (and also gcc -fno-zero-initialized-in-bss) create larger binaries if you explicitly zero-initialize a static variable. * src/libvirt.c: Fix initialization. * src/util/viralloc.c: Likewise. * src/util/virdbus.c: Likewise. * src/util/virevent.c: Likewise. * src/util/virfile.c (safezero): Likewise. * src/util/virlog.c: Likewise. * src/util/virnetlink.c: Likewise. * src/util/virthread.h (VIR_ONCE_GLOBAL_INIT): Likewise. * src/util/virprocess.c (virProcessGetStartTime): Likewise. Signed-off-by: NEric Blake <eblake@redhat.com>
-
由 Eric Blake 提交于
We weren't ever using the value for anything other than being non-zero. * src/util/viraudit.h (virAuditLog): Change signature. * src/util/viraudit.c (virAuditLog): Update user. * daemon/libvirtd.c (main): Likewise. Signed-off-by: NEric Blake <eblake@redhat.com>
-
由 Michal Privoznik 提交于
As I've pushed 5892944f I haven't noticed one small nitpick. There was this backslash missing on the line 1231 in the enumeration of libraries to be added to vbox storage driver. This resulted in nondeterministic build which sometimes succeeded and sometimes failed. Signed-off-by: NMichal Privoznik <mprivozn@redhat.com>
-
由 John Ferlan 提交于
https://bugzilla.redhat.com/show_bug.cgi?id=1146837 Resolve a crash in libvirtd resulting from commit id 'a4bd62ad' (1.0.6) which added parentaddr and unique_id to allow unique identification of a scsi_host, but assumed that all the pool entries and the incoming definition would be similarly defined. If the existing pool uses the 'name' attribute and an incoming pool is using the parentaddr/unique_id, then the code will attempt to compare the existing name string against the incoming name string which doesn't exist (is NULL) and results in a core (STREQ). Conversely, if the existing pool used the parentaddr/unique_id and the to be defined pool used the name, then the comparison would be against the parentaddr, but since the incoming pool doesn't have one - that would leave the comparison against a parentaddr of all 0's and a unique_id of 0, which will always comparison to fail. This means someone could define the same source adapter for two pools In order to resolve this, adjust the code to get the 'host#' to be used by the storage scsi backend in order to check/start the pool and make sure the incoming definition doesn't match any of the existing pool defs.
-
由 John Ferlan 提交于
Create the function from the code in getAdapterName() in order to return the "host#" name for the provided parentaddr values.
-
由 John Ferlan 提交于
Create/use virGetSCSIHostNumber to replace the static getHostNumber Removed the "if (result &&" since result is now required to be non NULL on input.
-
由 John Ferlan 提交于
https://bugzilla.redhat.com/show_bug.cgi?id=1141621 As part of attach processing, assign the device aliases by calling qemuAssignDeviceAliases during qemuDomainQemuAttach once all the devices are found after the qemuParseCommandLinePid processing. This will alleviate a symptom that caused a libvirtd crash during an attempted device detach.
-
由 John Ferlan 提交于
https://bugzilla.redhat.com/show_bug.cgi?id=1141621 If the QEMU_CAPS_DEVICE is set, then ensure the host device alias has been properly set before making the calls to detach the device
-
由 John Ferlan 提交于
If the QEMU_CAPS_DEVICE is set, then ensure the chr device alias has been properly set before making the calls to detach the device
-
由 John Ferlan 提交于
If the QEMU_CAPS_DEVICE is set, then ensure the host device alias has been properly set before making the calls to detach the device
-
由 John Ferlan 提交于
If the QEMU_CAPS_DEVICE is set, then ensure the disk device alias has been properly set in prior to making the calls to detach the device.
-
由 John Ferlan 提交于
In qemuDomainDetachControllerDevice if the info.alias already exists a call to qemuAssignDeviceControllerAlias would overwrite the existing so avoid this possibility.
-
由 John Ferlan 提交于
Slight adjustment to the qemu-attach man page to note device hotplug and hot unplug may not work and that the environment should be considered read-only
-
由 Jincheng Miao 提交于
Currently remote driver only initializes partial fields of remote_connect_get_all_domain_stats_args. But xdr_array() will check the uninitialised field 'doms_val'. For safty reason, memset all fields of args is better. Fix the following error from valgrind, like: ==30515== 1 errors in context 1 of 3: ==30515== Conditional jump or move depends on uninitialised value(s) ==30515== at 0x85E9402: xdr_array (xdr_array.c:88) ==30515== by 0x4FD8FC9: xdr_remote_connect_get_all_domain_stats_args (remote_protocol.c:6473) ==30515== by 0x4FE72F2: virNetMessageEncodePayload (virnetmessage.c:350) ==30515== by 0x4FDD21C: virNetClientProgramCall (virnetclientprogram.c:326) ==30515== by 0x4FB4D01: callFull.isra.2 (remote_driver.c:6667) ==30515== by 0x4FCBD45: call (remote_driver.c:6689) ==30515== by 0x4FCBD45: remoteConnectGetAllDomainStats (remote_driver.c:7793) ==30515== by 0x4FA0E75: virConnectGetAllDomainStats (libvirt.c:21678) ==30515== by 0x147FD1: cmdDomstats (virsh-domain-monitor.c:2148) ==30515== by 0x13006B: vshCommandRun (virsh.c:1915) ==30515== by 0x12A9E1: main (virsh.c:3699) Signed-off-by: NJincheng Miao <jmiao@redhat.com>
-
由 Taowei Luo 提交于
After rewriting the whole driver, Only version specified code is remained in vbox_tmpl.c. So, this patch removes those unused macros header files in vbox_tmpl.c.
-
由 Taowei Luo 提交于
This patch provides the new stroage driver for vbox. The work is similar with patch 87dea4fc and the next b4022de3.
-
由 Taowei Luo 提交于
-
由 Taowei Luo 提交于
-
由 Taowei Luo 提交于
-
由 Taowei Luo 提交于
The API on IHardDiskAttachment is merged into IMediumAttachment. So, we don't need it anymore.
-
由 Taowei Luo 提交于
The GetMedium will always return a IHardDisk object them. In 2.2 and 3.0, it is what GetHardDisk exactly do. In 3.1 and later, The IMedium is same as IHardDisk.
-
由 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>
-