Recientemente comencé a experimentar con el soporte para sistemas de archivos passthrough en versiones recientes de KVM / QEMU / libvirt. Hacer que los sistemas de archivos estén disponibles para el acceso de lectura "simplemente funcionó", pero estoy un poco desconcertado acerca de cómo se supone que funciona el acceso de escritura. Después de montar el sistema de archivos en el invitado:
# mount -t 9p -o trans=virtio /fs/data /mnt
Puedo modificar un archivo existente si tiene modo o+w
:
# cd /mnt/work
# ls -l foo
-rw-rw-rw-. 1 root root 17 Dec 20 11:16 foo
# cat foo
this is line one
# echo this is line two >> foo
# cat foo
this is line one
this is line two
Pero independientemente de los permisos del directorio, no puedo crear un nuevo archivo o directorio:
# ls -ld /mnt/work
drwxrwxrwx. 2 root root 4096 Dec 20 11:16 /mnt/work
# cd /mnt/work
# touch bar
touch: setting times of `bar': No such file or directory
# mkdir bar
# mkdir: cannot create directory `bar': Operation not permitted
La documentación que he podido encontrar (por ejemplo, esto ) no aborda explícitamente este problema. Espero que alguien aquí en Serverfault pueda ayudarme a configurar un sistema de archivos de transferencia que me permita otorgar acceso de escritura a un usuario en el invitado a un sistema de archivos host.