diff --git a/docs/news.xml b/docs/news.xml index 649350a904..8ef9da78b7 100644 --- a/docs/news.xml +++ b/docs/news.xml @@ -71,6 +71,15 @@
+ + + qemu: Create memory_backing_dir on startup + + + Libvirt's policy is that directories are created on startup if + they don't exist. We've missed this one. + +
diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c index 67f54282a0..fcab7ddf82 100644 --- a/src/qemu/qemu_driver.c +++ b/src/qemu/qemu_driver.c @@ -706,6 +706,11 @@ qemuStateInitialize(bool privileged, cfg->nvramDir); goto error; } + if (virFileMakePath(cfg->memoryBackingDir) < 0) { + virReportSystemError(errno, _("Failed to create memory backing dir %s"), + cfg->memoryBackingDir); + goto error; + } qemu_driver->qemuImgBinary = virFindFileInPath("qemu-img"); @@ -830,6 +835,13 @@ qemuStateInitialize(bool privileged, (int) cfg->group); goto error; } + if (chown(cfg->memoryBackingDir, cfg->user, cfg->group) < 0) { + virReportSystemError(errno, + _("unable to set ownership of '%s' to %d:%d"), + cfg->memoryBackingDir, (int) cfg->user, + (int) cfg->group); + goto error; + } run_uid = cfg->user; run_gid = cfg->group;