}
if (pagesize || hugepage) {
- if (!virQEMUCapsGet(qemuCaps, QEMU_CAPS_OBJECT_MEMORY_FILE)) {
- virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s",
- _("this qemu doesn't support hugepage memory backing"));
- goto cleanup;
- }
-
if (pagesize) {
/* Now lets see, if the huge page we want to use is even mounted
* and ready to use */
goto cleanup;
}
- if (!hugepage && !pagesize) {
-
- if ((userNodeset || nodeSpecified || force) &&
- !virQEMUCapsGet(qemuCaps, QEMU_CAPS_OBJECT_MEMORY_RAM)) {
+ /* If none of the following is requested... */
+ if (!pagesize && !userNodeset && !memAccess && !nodeSpecified && !force) {
+ /* report back that using the new backend is not necessary
+ * to achieve the desired configuration */
+ ret = 1;
+ } else {
+ /* otherwise check the required capability */
+ if (STREQ(*backendType, "memory-backend-file") &&
+ !virQEMUCapsGet(qemuCaps, QEMU_CAPS_OBJECT_MEMORY_FILE)) {
+ virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s",
+ _("this qemu doesn't support the "
+ "memory-backend-file object"));
+ goto cleanup;
+ } else if (STREQ(*backendType, "memory-backend-ram") &&
+ !virQEMUCapsGet(qemuCaps, QEMU_CAPS_OBJECT_MEMORY_RAM)) {
virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s",
_("this qemu doesn't support the "
"memory-backend-ram object"));
goto cleanup;
}
- /* report back that using the new backend is not necessary to achieve
- * the desired configuration */
- if (!userNodeset && !nodeSpecified) {
- *backendProps = props;
- props = NULL;
- ret = 1;
- goto cleanup;
- }
+ ret = 0;
}
*backendProps = props;
props = NULL;
- ret = 0;
cleanup:
virJSONValueFree(props);
-M pc-i440fx-2.3 \
-m size=1048576k,slots=16,maxmem=1099511627776k \
-smp 2 \
--object memory-backend-file,id=ram-node0,prealloc=yes,\
-mem-path=/dev/hugepages2M/libvirt/qemu,size=1073741824 \
--numa node,nodeid=0,cpus=0-1,memdev=ram-node0 \
+-mem-prealloc \
+-mem-path /dev/hugepages2M/libvirt/qemu \
+-numa node,nodeid=0,cpus=0-1,mem=1024 \
-object memory-backend-file,id=memdimm0,prealloc=yes,\
mem-path=/dev/hugepages1G/libvirt/qemu,size=1073741824,host-nodes=1-3,policy=bind \
-device pc-dimm,node=0,memdev=memdimm0,id=dimm0 \