- 07 11月, 2017 21 次提交
-
-
由 Peter Krempa 提交于
-
由 Peter Krempa 提交于
-
由 John Ferlan 提交于
-
由 Peter Krempa 提交于
QEMU uses curl for accessing files using http(s) and ftp(s). They share common options so let's generate them in one helper.
-
由 Peter Krempa 提交于
Similarly to how we store gluster names, split the name into a pool and image portions when paring the XML and store them separately.
-
由 Peter Krempa 提交于
Libvirt historically stores storage source path including the volume as one string in the XML, but that is not really flexible enough when dealing with the fields in the code. Previously we'd store the slash separating the two as part of the image name. This was fine for gluster but it's not necessary and does not scale well when converting other protocols. Don't store the slash as part of the path. The resulting change from absolute to relative path within the gluster driver should be okay, as the root directory is the default when accessing gluster.
-
由 Peter Krempa 提交于
Extract the part formatting the basic URI part so that it can be reused to format JSON backing definitions. Parts specific to the command line format will remain in qemuBuildNetworkDriveURI. The new function is called qemuBlockStorageSourceGetURI.
-
由 Peter Krempa 提交于
Original implementation used 'SocketAddress' equivalent from qemu for the disk server field, while qemu documentation specifies 'InetSocketAddress'. The backing store parser uses the correct parsing function but the formatter used the incorrect one (and also with the legacy mode enabled which was wrong).
-
由 Peter Krempa 提交于
-
由 Peter Krempa 提交于
-
由 Peter Krempa 提交于
To allow aggregating the checks, refactor the code to check capabilities only if they were provided.
-
由 Peter Krempa 提交于
Stash all the disk definition and capability checks into one function.
-
由 Peter Krempa 提交于
To allow merging this with other disk type checks we need to check qemuCaps only when available, since some of the checks are executed on disk cold-plug and thus capabilities should not be checked. Make the checks optional by making them conditional on qemuCaps not being NULL.
-
由 Peter Krempa 提交于
All of the error message are already in a conditional block with known bus type. Inline the bus type rather than formatting it from a separate variable.
-
由 Peter Krempa 提交于
The disk index validation is used only in very specific cases and does not need to be performed otherwise. Move it out of the global check into the usage place.
-
由 Peter Krempa 提交于
busid and unitid are ever used only if the device is an SD card due to the check in qemuDiskBusNeedsDeviceArg. Since the SD card does not have an bus or unit number, most of the code and command line formatter can be removed since it will never be used.
-
由 Peter Krempa 提交于
Use the more common '< 0' rather than the non-zero check.
-
由 Michal Privoznik 提交于
In near future we will need more than just a plain VIR_STRDUP(). Better implement that in a separate function and in qemuBuildMemoryBackendStr() which is complicated enough already. Signed-off-by: NMichal Privoznik <mprivozn@redhat.com> Reviewed-by: NJohn Ferlan <jferlan@redhat.com>
-
由 Michal Privoznik 提交于
This function works over domain definition and not domain object. Its name is thus misleading. Signed-off-by: NMichal Privoznik <mprivozn@redhat.com> Reviewed-by: NJohn Ferlan <jferlan@redhat.com>
-
由 Nikolay Shirokovskiy 提交于
After the virNetDaemonAddServerPostExec call in virtlogd we should have netserver refcount set to 2. One goes to netdaemon servers hashtable and one goes to virt{logd,lock} own reference to netserver. Let's add the missing increment in virNetDaemonAddServerPostExec itself while holding the daemon lock. Since lockd defers management of the @srv object by the presence in the hash table, virLockDaemonNewPostExecRestart must Unref the alloc'd Ref on the @srv object done as part of virNetDaemonAddServerPostExec and virNetServerNewPostExecRestart processing. The virNetDaemonGetServer in lock_daemon main will also take a reference which is Unref'd during main cleanup.
-
由 John Ferlan 提交于
Commit id '252610f7' used a hash table to store the @srv, but didn't handle the virObjectUnref if virNetDaemonNew failed nor did it use virObjectUnref once successfully placed into the table which will now be managing it's lifetime (and would cause the virObjectRef if successfully inserted into the table).
-
- 06 11月, 2017 1 次提交
-
-
由 Jiri Denemark 提交于
When coverage build is enabled, gcc complains about it: In file included from qemu/qemu_agent.h:29:0, from qemu/qemu_driver.c:47: qemu/qemu_driver.c: In function 'qemuDomainSetInterfaceParameters': ./conf/domain_conf.h:3397:1: error: inlining failed in call to 'virDomainNetTypeSharesHostView': call is unlikely and code size would grow [-Werror=inline] virDomainNetTypeSharesHostView(const virDomainNetDef *net) ^ Signed-off-by: NJiri Denemark <jdenemar@redhat.com>
-
- 04 11月, 2017 10 次提交
-
-
由 Michal Privoznik 提交于
In some cases there's dangling backward slash at the end of multi line macros. While technically the code works, it will stop if some empty lines are removed. Signed-off-by: NMichal Privoznik <mprivozn@redhat.com>
-
由 Dawid Zamirski 提交于
The optional values are 'piix3', 'piix4' or 'ich6'. Those will be needed to allow setting IDE controller model in VirtualBox driver.
-
由 Dawid Zamirski 提交于
This patch exposes additional methods of the native VBOX API to the libvirt 'unified' vbox API to deal with IStorageController. The exposed methods are: * IStorageController->GetStorageControllerType() * IStorageController->SetStorageControllerType() * IMachine->GetStorageControllers()
-
由 Dawid Zamirski 提交于
Original code was checking for non empty disk source before proceeding to actually attach disk device to VM. This prevented from creating empty removable devices like DVD or floppy. Therefore, this patch re-organizes the loop work-flow to allow such configurations as well as makes the code follow better libvirt practices. Additionally, adjusted debug logs to be more helpful - removed old ones and added new which give more valuable info for troubleshooting.
-
由 Dawid Zamirski 提交于
Previously, if one tried to define a VBOX VM and the API failed to perform the requested actions for some reason, it would just log the error and move on to process remaining disk definitions. This is not desired as it could result in incorrectly defined VM without the caller even knowing about it. So now all the code paths that call virReportError are now treated as hard failures as they should have been.
-
由 Dawid Zamirski 提交于
Remove the setting since it's unused as of commit 34364df3 which should have never copied it in from the old code which ended up getting removed as part of commit c7c286c6.
-
由 Dawid Zamirski 提交于
This commit primes vboxAttachDrives for further changes so when they are made, the diff is less noisy: * move variable declarations to the top of the function * add disk variable to replace all the def->disks[i] instances * add cleanup at the end of the loop body, so it's all in one place rather than scattered through the loop body. It's purposefully called 'cleanup' rather than 'skip' or 'continue' because future commit will treat errors as hard-failures.
-
由 Dawid Zamirski 提交于
Previously, the driver was computing VBOX's devicePort/deviceSlot values based on device name and max port/slot values. While this worked, it completely ignored <address> values. Additionally, libvirt's built-in virDomainDiskDefAssignAddress already does a good job setting default values on virDomainDeviceDriveAddress struct which we can use to set devicePort and deviceSlot and accomplish the same result while allowing the customizing those via XML. Also, this allows to remove some code which will make further patches smaller.
-
由 Dawid Zamirski 提交于
When registering a VM we call OpenMedium on each disk image which adds it to vbox's global media registry. Therefore, we should make sure to call Close when unregistering VM so we cleanup the media registry entries after ourselves - this does not remove disk image files. This follows the behaviour of the VBoxManage unregistervm command.
-
由 Dawid Zamirski 提交于
Since the removal of VBOX <= 3x, the function arguments are actually used so they should not be marked with ATTRIBUTE_UNUSED anymore.
-
- 03 11月, 2017 8 次提交
-
-
由 Andrea Bolognani 提交于
Now that our codebase is clean, we can add a syntax-check rule to ensure it will remain so. Signed-off-by: NAndrea Bolognani <abologna@redhat.com>
-
由 Andrea Bolognani 提交于
Right-aligning backslashes when defining macros or using complex commands in Makefiles looks cute, but as soon as any changes is required to the code you end up with either distractingly broken alignment or unnecessarily big diffs where most of the changes are just pushing all backslashes a few characters to one side. Generated using $ git grep -El '[[:blank:]][[:blank:]]\\$' | \ grep -E '*\.([chx]|am|mk)$$' | \ while read f; do \ sed -Ei 's/[[:blank:]]*[[:blank:]]\\$/ \\/g' "$f"; \ done Signed-off-by: NAndrea Bolognani <abologna@redhat.com>
-
由 Peter Krempa 提交于
When a user provides the backing chain, we will not need to re-detect all the backing stores again, but should move to the end of the user specified chain. Additionally if a user provides a full terminated chain we should not attempt any further detection.
-
由 Peter Krempa 提交于
Iterate through the backing chain when setting up TLS for disks.
-
由 Peter Krempa 提交于
When attaching the disks, aliases are always generated.
-
由 Peter Krempa 提交于
-
由 Peter Krempa 提交于
Separate it so that it deals only with single virStorageSource, so that it can later be reused for full backing chain support. Two aliases are passed since authentication is more relevant to the 'storage backend' whereas encryption is more relevant to the protocol layer. When using node names, the aliases will be different.
-
由 Peter Krempa 提交于
qemuDomainGetImageIds and qemuDomainStorageFileInit are helpful when trying to access a virStorageSource from the qemu driver since they figure out the correct uid and gid for the image. When accessing members of a backing chain the permissions for the top level would be used. To allow using specific permissions per backing chain level but still allow inheritance from the parent of the chain we need to add a new parameter to the image ID APIs.
-