9decd8f3cc
- qemu: Fix cgroup handling when setting VCPU BW - daemon: fix leak after listing all volumes - Fix iohelper usage with streams opened for read - util: fix virFileOpenAs return value and resulting error logs - iscsi: don't leak portal string when starting a pool - don't mention disk controllers in generic controller errors - conf: don't crash on a tpm device with no backends - qemu: allocate network connections sooner during domain startup - Make detect_scsi_host_caps a function on all architectures - Fix release of resources with lockd plugin - Fix potential use of undefined variable in remote dispatch code - Fix F_DUPFD_CLOEXEC operation args - qemu: fix stupid typos in VFIO cgroup setup/teardown - network: fix network driver startup for qemu:///session - Remove patches that are included in the 1.0.5.1 release 0471637d-cgroups-vcpu-bw.patch, a2214c52-iohelper.patch, ca697e90-CVE-2013-1962.patch OBS-URL: https://build.opensuse.org/package/show/Virtualization/libvirt?expand=0&rev=266
36 lines
1.4 KiB
Diff
36 lines
1.4 KiB
Diff
Allow qemu driver (and hence libvirtd) to load when qemu
|
|
user:group does not exist. The kvm package, which may not
|
|
exist on a xen host, creates qemu user:group.
|
|
|
|
A better (future) solution would be to build the libvirtd
|
|
drivers as loadable modules instead of built-in to the
|
|
daemon. Then the qemu driver would only be loaded when needed,
|
|
which would never be the case on a xen-only configuration.
|
|
|
|
Index: libvirt-1.0.5.1/src/qemu/qemu_conf.c
|
|
===================================================================
|
|
--- libvirt-1.0.5.1.orig/src/qemu/qemu_conf.c
|
|
+++ libvirt-1.0.5.1/src/qemu/qemu_conf.c
|
|
@@ -435,15 +435,15 @@ int virQEMUDriverConfigLoadFile(virQEMUD
|
|
|
|
p = virConfGetValue(conf, "user");
|
|
CHECK_TYPE("user", VIR_CONF_STRING);
|
|
- if (p && p->str &&
|
|
- virGetUserID(p->str, &cfg->user) < 0)
|
|
- goto cleanup;
|
|
+ if (p && p->str)
|
|
+ if (virGetUserID(p->str, &cfg->user) < 0)
|
|
+ VIR_WARN("User %s does not exist! Continuing...", p->str);
|
|
|
|
p = virConfGetValue(conf, "group");
|
|
CHECK_TYPE("group", VIR_CONF_STRING);
|
|
- if (p && p->str &&
|
|
- virGetGroupID(p->str, &cfg->group) < 0)
|
|
- goto cleanup;
|
|
+ if (p && p->str)
|
|
+ if (virGetGroupID(p->str, &cfg->group) < 0)
|
|
+ VIR_WARN("Group %s does not exist! Continuing...", p->str);
|
|
|
|
GET_VALUE_BOOL("dynamic_ownership", cfg->dynamicOwnership);
|
|
|