From f0e5100f002a0e5ad264f16128fabb285c3afa84 Mon Sep 17 00:00:00 2001 From: Cole Robinson Date: Fri, 26 Mar 2021 12:58:28 -0400 Subject: [PATCH] qemu: virtiofs: support This maps to `virtiofsd -o sandbox=chroot|namespace`, which was added in qemu 5.2.0: https://git.qemu.org/?p=qemu.git;a=commit;h=06844584b62a43384642f7243b0fc01c9fff0fc7 Reviewed-by: Michal Privoznik Signed-off-by: Cole Robinson --- src/qemu/qemu_validate.c | 7 +++++++ src/qemu/qemu_virtiofs.c | 2 ++ 2 files changed, 9 insertions(+) diff --git a/src/qemu/qemu_validate.c b/src/qemu/qemu_validate.c index 60befb2282..255d653118 100644 --- a/src/qemu/qemu_validate.c +++ b/src/qemu/qemu_validate.c @@ -4141,6 +4141,13 @@ qemuValidateDomainDeviceDefFS(virDomainFSDef *fs, } } + if (fs->fsdriver != VIR_DOMAIN_FS_DRIVER_TYPE_VIRTIOFS && + fs->sandbox != VIR_DOMAIN_FS_SANDBOX_MODE_DEFAULT) { + virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", + _("sandbox can only be used with driver=virtiofs")); + return -1; + } + switch ((virDomainFSDriverType) fs->fsdriver) { case VIR_DOMAIN_FS_DRIVER_TYPE_DEFAULT: case VIR_DOMAIN_FS_DRIVER_TYPE_PATH: diff --git a/src/qemu/qemu_virtiofs.c b/src/qemu/qemu_virtiofs.c index c37ac5b4ee..e310f2e7aa 100644 --- a/src/qemu/qemu_virtiofs.c +++ b/src/qemu/qemu_virtiofs.c @@ -131,6 +131,8 @@ qemuVirtioFSBuildCommandLine(virQEMUDriverConfig *cfg, virQEMUBuildBufferEscapeComma(&opts, fs->src->path); if (fs->cache) virBufferAsprintf(&opts, ",cache=%s", virDomainFSCacheModeTypeToString(fs->cache)); + if (fs->sandbox) + virBufferAsprintf(&opts, ",sandbox=%s", virDomainFSSandboxModeTypeToString(fs->sandbox)); if (fs->xattr == VIR_TRISTATE_SWITCH_ON) virBufferAddLit(&opts, ",xattr");