From ab8050c5e021c18899d3c037066b7aea972d28b8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fabiano=20Fid=C3=AAncio?= Date: Wed, 19 Feb 2020 11:00:51 +0100 Subject: [PATCH] kata_agent: Don't use dax if virtio_fs_cache is 0 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit If always using dax, even if virtio_fs_cache is 0, the following error would happen: ``` [root@f32 runtime]# podman run --security-opt label=disable --runtime=/usr/local/bin/kata-runtime --rm -id fedora sh Error: rpc error: code = Internal desc = Could not mount kataShared to /run/kata-containers/shared/containers/: invalid argument: OCI runtime error ``` Fixes: #2464 Signed-off-by: Fabiano FidĂȘncio --- virtcontainers/kata_agent.go | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/virtcontainers/kata_agent.go b/virtcontainers/kata_agent.go index 9f4a8d3f0..9a5ecc140 100644 --- a/virtcontainers/kata_agent.go +++ b/virtcontainers/kata_agent.go @@ -879,7 +879,10 @@ func setupStorages(sandbox *Sandbox) []*grpc.Storage { // options should not contain 'dax' lest the virtio-fs daemon crashing // with an invalid address reference. if sandbox.config.HypervisorConfig.VirtioFSCache != typeVirtioFSNoCache { - sharedDirVirtioFSOptions = append(sharedDirVirtioFSOptions, sharedDirVirtioFSDaxOptions) + // If virtio_fs_cache_size = 0, dax should not be used. + if sandbox.config.HypervisorConfig.VirtioFSCacheSize != 0 { + sharedDirVirtioFSOptions = append(sharedDirVirtioFSOptions, sharedDirVirtioFSDaxOptions) + } } sharedVolume := &grpc.Storage{ Driver: kataVirtioFSDevType,