
On Tue, Dec 11, 2012 at 01:33:33PM -0600, Doug Goldstein wrote:
On Tue, Dec 11, 2012 at 1:08 PM, Roman Bogorodskiy diff --git a/src/qemu/qemu_process.c b/src/qemu/qemu_process.c index ab04599..5d355eb 100644 --- a/src/qemu/qemu_process.c +++ b/src/qemu/qemu_process.c @@ -27,7 +27,12 @@ #include <sys/stat.h> #include <sys/time.h> #include <sys/resource.h> +#if defined(__linux__) #include <linux/capability.h> +#elif defined(__FreeBSD__) +#include <sys/param.h> +#include <sys/cpuset.h> +#endif
#include "qemu_process.h" #include "qemu_domain.h" @@ -3707,7 +3712,12 @@ int qemuProcessStart(virConnectPtr conn, /* in case a certain disk is desirous of CAP_SYS_RAWIO, add this */ for (i = 0; i < vm->def->ndisks; i++) { if (vm->def->disks[i]->rawio == 1) +#ifdef CAP_SYS_RAWIO virCommandAllowCap(cmd, CAP_SYS_RAWIO); +#else + virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", + _("Raw I/O is not supported on this platform")); +#endif }
It probably would be better to not allow VMs to be defined with rawio enabled if this the case. You'll want to make these changes in src/conf/domain_conf.c
No, the XML parser should not apply semantic checks while parsing. We've been down that route before and it wasn't pretty. Using VIR_ERR_CONFIG_UNSUPPORTED is the correct approach here. Daniel -- |: http://berrange.com -o- http://www.flickr.com/photos/dberrange/ :| |: http://libvirt.org -o- http://virt-manager.org :| |: http://autobuild.org -o- http://search.cpan.org/~danberr/ :| |: http://entangle-photo.org -o- http://live.gnome.org/gtk-vnc :|