I have recently started experimenting with the support for passthrough filesystems in recent versions of KVM/QEMU/libvirt. Making the filesystems available for read access has "just worked", but I'm a little puzzled about how write access is supposed to work. After mounting the filesystem in the guest:
# mount -t 9p -o trans=virtio /fs/data /mnt
I can modify an existing file if it has mode
# 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
But regardless of the directory permissions, I cannot create a new file or directory:
# 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
The documentation I've been able to find (e.g., this) does not explicitly address this issue. I'm hoping someone here at Serverfault can help me set up a passthrough filesystem that will let me grant write access to a user in the guest to a host filesystem.