Aparentemente, se você definir cache = NONE para um arquivo de imagem de disco em qualquer sistema de arquivos host que não suporte Direct IO, o Virt-Manager fornecerá uma mensagem de erro não muito útil dizendo "Algo algo ... Argumento Inválido" e se recusar a iniciar a VM convidada.
Um exemplo de tal sistema de arquivos - que não suporta Direct IO - é o tmpfs. Outro sistema de arquivos desse tipo, onde talvez você possa desativar opcionalmente o Direct IO, é o GlusterFS (que eu não tinha ouvido falar antes mesmo de ter o mesmo problema do Sergei e estar pesquisando o erro.) Para tmpfs, não suportar o Direct IO parece ser uma limitação técnica. ou conflito de design no momento e não sei se será / poderá ser corrigido no futuro.
No meu caso, eu tinha colocado um Ramdisk de 3,6 GB para uma VM Win7Pro Guest rodando no CentOS7 e tinha set cache = NONE para o ramdisk no Virt-Manager. As outras opções que os tmpfs img usaram foram virtio e raw. A VM se recusaria a começar com o mesmo erro / erro dizendo "... argumento inválido".
Para detalhes técnicos e notas diretamente do Redhat Engineer e Developer que codificou o patch para o cache de recursos = NONE & mantém (?) Virt-Manager (Daniel Berrange), veja a discussão no seguinte link:
Para citar Daniel no URL acima: "> não pôde abrir imagem de disco / mnt / vmstore / instances / instance-0000001a / disk: argumento inválido
provavelmente significa que o sistema de arquivos não suporta o Direct IO. ATÉ ONDE SEI, todos os sistemas de arquivos, exceto o tmpfs, devem suportar isso .. "
Além disso, Daniel continua: "- Então o que vamos querer fazer então é [....] checar se o volume de armazenamento suporta Direct IO. Em caso afirmativo, use cache = none, caso contrário, fallback to cache = writethrough que não usa Direct E / S, mas ainda está seguro contra falhas. "
No meu caso, eu pude verificar que a configuração cache = NONE para o arquivo tmpfs img NÃO estava iniciando a VM e mostrou o erro como discutido. Ele foi capaz de iniciar com êxito a VM se o cache foi definido como "Padrão" ou explicitamente como "Gravação por gravação". Não faz sentido usar o "Write-back", já que este sistema de arquivos é descartável e, de qualquer forma, é inteiramente na RAM, então obviamente eu não usei Write-back.
Espero que ajude!