Недавно я начал экспериментировать с поддержкой сквозных файловых систем в последних версиях KVM / QEMU / libvirt. Сделать файловые системы доступными для чтения только что сработало, но я немного озадачен тем, как должен работать доступ на запись. После монтирования файловой системы в гостевой системе:
# mount -t 9p -o trans=virtio /fs/data /mnt
Я могу изменить существующий файл, если у него есть режим 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
Но независимо от прав доступа к каталогу я не могу создать новый файл или каталог:
# 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
Документация, которую я смог найти (например, это ), явно не решает эту проблему. Я надеюсь, что кто-то здесь, в Serverfault, может помочь мне настроить сквозную файловую систему, которая позволит мне предоставить права на запись пользователю в гостевой системе хоста.