- 20 5月, 2014 3 次提交
-
-
由 Eric Blake 提交于
Commit d5c86278 was incomplete; other functions also triggered compiler warnings about collisions in the use of 'sync'. * src/qemu/qemu_driver.c (qemuDomainSetTime): Fix another client. * tools/virsh-domain-monitor.c (cmdDomTime): Likewise. Signed-off-by: NEric Blake <eblake@redhat.com>
-
由 Pavel Hrdina 提交于
Old gcc complains about shadowing 'sync' variable: ../../src/qemu/qemu_agent.c: In function 'qemuAgentSetTime': ../../src/qemu/qemu_agent.c:1737: warning: declaration of 'sync' shadows a global declaration [-Wshadow] /usr/include/unistd.h:464: warning: shadowed declaration is here [-Wshadow] Signed-off-by: NPavel Hrdina <phrdina@redhat.com>
-
由 Pavel Hrdina 提交于
The commit 84c59ffa improved the way we change ejectable media. If for any reason the first "eject" didn't open the tray we should return with error. Signed-off-by: NPavel Hrdina <phrdina@redhat.com>
-
- 19 5月, 2014 10 次提交
-
-
由 Eric Blake 提交于
This partially reverts commits b279e52f and ea18f8b2. It turns out our code base is full of: if ((struct.member = virBlahFromString(str)) < 0) goto error; Meanwhile, the C standard says it is up to the compiler whether an enum is signed or unsigned when all of its declared values happen to be positive. In my testing (Fedora 20, gcc 4.8.2), the compiler picked signed, and nothing changed. But others testing with gcc 4.7 got compiler warnings, because it picked the enum to be unsigned, but no unsigned value is less than 0. Even worse: if ((struct.member = virBlahFromString(str)) <= 0) goto error; is silently compiled without warning, but incorrectly treats -1 from a bad parse as a large positive number with no warning; and without the compiler's help to find these instances, it is a nightmare to maintain correctly. We could force signed enums with a dummy negative declaration in each enum, or cast the result of virBlahFromString back to int after assigning to an enum value, or use a temporary int for collecting results from virBlahFromString, but those actions are all uglier than what we were trying to cure by directly using enum types for struct values in the first place. It's better off to just live with int members, and use 'switch ((virFoo) struct.member)' where we want the compiler to help, than to track down all the conversions from string to enum and ensure they don't suffer from type problems. * src/util/virstorageencryption.h: Revert back to int declarations with comment about enum usage. * src/util/virstoragefile.h: Likewise. * src/conf/domain_conf.c: Restore back to casts in switches. * src/qemu/qemu_driver.c: Likewise. * src/qemu/qemu_command.c: Add cast rather than revert. Signed-off-by: NEric Blake <eblake@redhat.com>
-
由 Ján Tomko 提交于
With dynamic_ownership = 1 but no seclabels, RestoreChardevLabel dereferences the NULL seclabel when checking if norelabel is set. Remove this check, since it is already done in RestoreSecurityAllLabel and if norelabel is set, RestoreChardevLabel is never called.
-
由 Dmitry Guryanov 提交于
Each VM consists of a set of files in PCS: config, hard disk images, log file, memory dump. All these files are stored in a per-vm directory. When we create a new VM, we can ether specify path to the VM or create the VM in a default path (<default path>/<vm name>.pvm). This default path can be configured with command prlsrvctl user set --def-vm-home <path> command. Currenty parallels driver creates VM in the same place, where first hard disk is located. Let's change this logic and create VMs in the default path. It will be much clearer and allow us to create VMs without hard disks. Signed-off-by: NDmitry Guryanov <dguryanov@parallels.com>
-
由 Dmitry Guryanov 提交于
Disks support in this driver was implemented with an assumption, that disk images can't be created by hand, without VM. So complex storage driver was implemented with workaround. This is not true, we can create new disks using ploop tool. So the first step to reimplement disks support in parallels driver is to do not use information from the storage driver, until we will implement VIR_STORAGE_TYPE_VOLUME disks. So after this patch disks can be added in the same way as in any other driver: you create a disk image and then add an entry to the XML definition of the domain with path to that image file, for example: <disk type='file' device='disk'> <driver type='ploop'/> <source file='/storage/harddisk1.hdd'/> <target dev='sda' bus='sata'/> <address type='drive' controller='0' bus='0' target='0' unit='0'/> </disk> This patch makes parallels storage driver useless, but I'll fix it later. Now you can create an image by hand, using ploop tool, and then add it to some domain. Signed-off-by: NDmitry Guryanov <dguryanov@parallels.com>
-
由 Dmitry Guryanov 提交于
Set file format in virDomainDef structure to produce correct XML in virDomainGetXMLDesc function. Signed-off-by: NDmitry Guryanov <dguryanov@parallels.com>
-
由 Dmitry Guryanov 提交于
Add VIR_STORAGE_FILE_PLOOP format. This format is used to store disk images for virtual machines in PCS and containers in PCS, OpenVZ and also in Parallels Desktop for Mac. This format is described on OpenVZ site - https://openvz.org/Ploop (together with ploop devices). It consists of XML descriptor and one or more image files: base image and deltas. Format of the image files described here: https://openvz.org/Ploop/format. This patch only adds VIR_STORAGE_FILE_PLOOP constant, consequent patches will use it in parallels driver. Signed-off-by: NDmitry Guryanov <dguryanov@parallels.com>
-
由 Michal Privoznik 提交于
The domain definition is clearly used a few lines below so there's no need to mark @def as unused. Signed-off-by: NMichal Privoznik <mprivozn@redhat.com>
-
由 Ján Tomko 提交于
-
由 Ján Tomko 提交于
We allow a seclabel to be specified in the <source> element of a chardev: <serial type='file'> <source path='/tmp/serial.file'> <seclabel model='dac' relabel='no'/> </source> </serial> But we format it outside the source: <serial type='file'> <source path='/tmp/serial.file'/> <target port='0'/> <seclabel model='dac' relabel='no'/> </serial> Move the formatting inside the source to fix this to make the seclabel persistent across XML format->parse. Introduced by commit f8b08d0e 'Add <seclabel> to character devices.'
-
由 Ján Tomko 提交于
Drop the 'Disk' from the name, as there is nothing disk-specific about the function.
-
- 17 5月, 2014 8 次提交
-
-
由 Jim Fehlig 提交于
The DAC driver ignores the relabel='no' attribute in chardev config <serial type='file'> <source path='/tmp/jim/test.file'> <seclabel model='dac' relabel='no'/> </source> <target port='0'/> </serial> This patch avoids labeling chardevs when relabel='no' is specified. Signed-off-by: NMichal Privoznik <mprivozn@redhat.com> Signed-off-by: NJim Fehlig <jfehlig@suse.com>
-
由 Jim Fehlig 提交于
When relabel='no' at the domain level, there is no need to call the hostdev relabeling functions. Signed-off-by: NMichal Privoznik <mprivozn@redhat.com> Signed-off-by: NJim Fehlig <jfehlig@suse.com>
-
由 Jim Fehlig 提交于
https://bugzilla.redhat.com/show_bug.cgi?id=999301 The DAC driver ignores the relabel='no' attribute in disk config <disk type='file' device='floppy'> <driver name='qemu' type='raw'/> <source file='/some/path/floppy.img'> <seclabel model='dac' relabel='no'/> </source> <target dev='fda' bus='fdc'/> <readonly/> </disk> This patch avoid labeling disks when relabel='no' is specified. Signed-off-by: NMichal Privoznik <mprivozn@redhat.com> Signed-off-by: NJim Fehlig <jfehlig@suse.com>
-
由 Jim Fehlig 提交于
If relabel='no' at the domain level, no need to attempt relabeling in virSecurityDAC{Set,Restore}SecurityAllLabel(). Signed-off-by: NMichal Privoznik <mprivozn@redhat.com> Signed-off-by: NJim Fehlig <jfehlig@suse.com>
-
由 Jim Fehlig 提交于
Currently, the DAC security driver passes callback data as void params[2]; params[0] = mgr; params[1] = def; Clean this up by defining a structure for passing the callback data. Moreover, there's no need to pass the whole virDomainDef in the callback as the only thing needed in the callbacks is virSecurityLabelDefPtr. Signed-off-by: NMichal Privoznik <mprivozn@redhat.com> Signed-off-by: NJim Fehlig <jfehlig@suse.com>
-
由 Jim Fehlig 提交于
In switch statements, use enum types since it is safer when adding new items to the enum. Signed-off-by: NMichal Privoznik <mprivozn@redhat.com> Signed-off-by: NJim Fehlig <jfehlig@suse.com>
-
由 Jim Fehlig 提交于
Annotate some static function parameters with ATTRIBUTE_NONNULL and remove checks for NULL inputs. Signed-off-by: NMichal Privoznik <mprivozn@redhat.com> Signed-off-by: NJim Fehlig <jfehlig@suse.com>
-
由 Eric Blake 提交于
In a number of APIs, the text implied that a user might have <target dev='xvda'/> - but common convention is to use "vda", not "xvda". For example, virDomainGetDiskErrors was correct, while virDomainBlockStats was confusing. * src/libvirt.c: Make examples consistent. Signed-off-by: NEric Blake <eblake@redhat.com>
-
- 16 5月, 2014 5 次提交
-
-
由 Chen Hanxiao 提交于
Don't leak keypath when we fail to kill a process Signed-off-by: NChen Hanxiao <chenhanxiao@cn.fujitsu.com>
-
由 Eric Blake 提交于
For internal structs, we might as well be type-safe and let the compiler help us with less typing required on our part (getting rid of casts is always nice). In trying to use enums directly, I noticed two problems in virstoragefile.h that can't be fixed without more invasive refactoring: virStorageSource.format is used as more of a union of multiple enums in storage volume code (so it has to remain an int), and virStorageSourcePoolDef refers to pooltype whose enum is declared in src/conf, but where src/util can't pull in headers from src/conf. * src/util/virstoragefile.h (virStorageNetHostDef) (virStorageSourcePoolDef, virStorageSource): Use enums instead of int for fields of internal types. * src/qemu/qemu_command.c (qemuParseCommandLine): Cover all values. * src/conf/domain_conf.c (virDomainDiskSourceParse) (virDomainDiskSourceFormat): Simplify clients. * src/qemu/qemu_driver.c (qemuDomainSnapshotCreateSingleDiskActive) (qemuDomainSnapshotPrepareDiskExternalBackingInactive) (qemuDomainSnapshotPrepareDiskExternalOverlayActive) (qemuDomainSnapshotPrepareDiskInternal): Likewise. Signed-off-by: NEric Blake <eblake@redhat.com>
-
由 Eric Blake 提交于
The VIR_ENUM_DECL/VIR_ENUM_IMPL helper macros already append 'Type' to the enum name being converted; it looks silly to have functions with 'TypeType' in their name. Even though some of our enums have to have a 'Type' suffix, the corresponding string conversion functions do not. * src/conf/secret_conf.h (VIR_ENUM_DECL): Rename virSecretUsageType. * src/conf/storage_conf.h (VIR_ENUM_DECL): Rename virStoragePoolAuthType, virStoragePoolSourceAdapterType, virStoragePartedFsType. * src/conf/domain_conf.c (virDomainDiskDefParseXML) (virDomainFSDefParseXML, virDomainFSDefFormat): Update callers. * src/conf/secret_conf.c (virSecretDefParseUsage) (virSecretDefFormatUsage): Likewise. * src/conf/storage_conf.c (virStoragePoolDefParseAuth) (virStoragePoolDefParseSource, virStoragePoolSourceFormat): Likewise. * src/lxc/lxc_controller.c (virLXCControllerSetupLoopDevices): Likewise. * src/storage/storage_backend_disk.c (virStorageBackendDiskPartFormat): Likewise. * src/util/virstorageencryption.c (virStorageEncryptionSecretParse) (virStorageEncryptionSecretFormat): Likewise. * tools/virsh-secret.c (cmdSecretList): Likewise. * src/libvirt_private.syms (secret_conf.h, storage_conf.h): Export corrected names. Signed-off-by: NEric Blake <eblake@redhat.com>
-
由 Eric Blake 提交于
Continuing the work of consistent enum cleanups; this time in virstorageencryption.h. * src/util/virstorageencryption.h (virStorageEncryptionFormat): Convert to typedef, renaming to avoid collision with function. (virStorageEncryptionSecret, virStorageEncryption): Directly use enums. Signed-off-by: NEric Blake <eblake@redhat.com>
-
由 Eric Blake 提交于
The code had some todo's about adding 'vdi' to the list of virStorageType, but we've already done that. * src/vbox/vbox_tmpl.c (vboxStorageVolCreateXML) (vboxStorageVolGetXMLDesc): Use enum value for vdi type. Signed-off-by: NEric Blake <eblake@redhat.com>
-
- 15 5月, 2014 10 次提交
-
-
由 Michal Privoznik 提交于
One caveat though, qemu-ga is expecting time and returning time in nanoseconds. With all the buffering and propagation delay, the time is already wrong once it gets to the qemu-ga, but there's nothing we can do about it. Signed-off-by: NMichal Privoznik <mprivozn@redhat.com>
-
由 Michal Privoznik 提交于
These APIs are exposed under new virsh command 'domtime' which both gets and sets (not at the same time of course :)). Signed-off-by: NMichal Privoznik <mprivozn@redhat.com>
-
由 Michal Privoznik 提交于
These APIs allow users to get or set time in a domain, which may come handy if the domain has been resumed just recently and NTP is not configured or hasn't kicked in yet and the guest is running something time critical. In addition, NTP may refuse to re-set the clock if the skew is too big. In addition, new ACL attribute is introduced 'set_time'. Signed-off-by: NMichal Privoznik <mprivozn@redhat.com>
-
由 Jiri Denemark 提交于
Coverity complains about event being leaked in qemuDomainCheckRemoveOptionalDisk. The best fix for it is to remove the disk directly since we already know its index. Signed-off-by: NJiri Denemark <jdenemar@redhat.com>
-
由 Jim Fehlig 提交于
-
由 Jim Fehlig 提交于
-
由 Jim Fehlig 提交于
Remove ATTRIBUTE_UNUSED on several function parameters that are actually used.
-
由 Li Yang 提交于
For now, if only '--wipe-storage' is assigned, user can undefine a domain normally. But actually '--wipe-storage' doesn't do anything, and this may confuse user. Better is to require that '--wipe-storage' only works if the user specifies volumes to be removed. Before: $ virsh undefine virt-tests-vm1 --wipe-storage Domain virt-tests-vm1 has been undefined After: $ virsh undefine virt-tests-vm1 --wipe-storage error: '--wipe-storage' requires '--storage <string>' or '--remove-all-storage' Signed-off-by: NLi Yang <liyang.fnst@cn.fujitsu.com> Signed-off-by: NEric Blake <eblake@redhat.com>
-
由 Julio Faracco 提交于
In "src/conf/" there are many enumeration (enum) declarations. Similar to the recent cleanup to "src/util" directory, it's better to use a typedef for variable types, function types and other usages. Other enumeration and folders will be changed to typedef's in the future. Most of the files changed in this commit are related to snapshot (snapshot_conf) enums. Signed-off-by: NJulio Faracco <jcfaracco@gmail.com> Signed-off-by: NEric Blake <eblake@redhat.com>
-
由 Julio Faracco 提交于
In "src/conf/" there are many enumeration (enum) declarations. Similar to the recent cleanup to "src/util" directory, it's better to use a typedef for variable types, function types and other usages. Other enumeration and folders will be changed to typedef's in the future. Most of the files changed in this commit are related to storage (storage_conf) enums. Signed-off-by: NJulio Faracco <jcfaracco@gmail.com> Signed-off-by: NEric Blake <eblake@redhat.com>
-
- 14 5月, 2014 4 次提交
-
-
由 Julio Faracco 提交于
In "src/conf/" there are many enumeration (enum) declarations. Similar to the recent cleanup to "src/util" directory, it's better to use a typedef for variable types, function types and other usages. Other enumeration and folders will be changed to typedef's in the future. Most of the files changed in this commit are related to network filter (nwfilter_conf) enums. Signed-off-by: NJulio Faracco <jcfaracco@gmail.com> Signed-off-by: NEric Blake <eblake@redhat.com>
-
由 Jiri Denemark 提交于
When qemu driver is polling for migration to finish (in qemuMigrationWaitForCompletion), it may happen that another job allowed during migration is running and if it does not finish within 30 seconds, migration would be cancelled because of that. However, we can just ignore the timeout and let the waiting loop try again later. If an event fired at the end of migration is ever implemented in QEMU, we can just wait for the event instead of polling for migration status and libvirt will behave consistently, i.e., migration won't be cancelled in case another job started during migration takes long time to finish. For bug https://bugzilla.redhat.com/show_bug.cgi?id=1083238Signed-off-by: NJiri Denemark <jdenemar@redhat.com>
-
由 Jiri Denemark 提交于
As a side effect, the return value of qemuDomainObjEnterMonitorAsync is not directly used as the return value of qemuProcess{Start,Stop}CPUs. Signed-off-by: NJiri Denemark <jdenemar@redhat.com>
-
由 Jiri Denemark 提交于
If job queue is full or waiting for a job times out, the function returns -2 so that it can be handled in a different way by callers. The change is safe since all existing callers of qemuDomainObjBeginNestedJob check the return value to be less than zero. Signed-off-by: NJiri Denemark <jdenemar@redhat.com>
-