[Virtio-fs] Deleting files when using NFS as a shared folder
Gal Hammer
ghammer at redhat.com
Mon Aug 2 10:18:13 UTC 2021
Hello,
When using NFS as a shared folder (mount type nfs4) with a Linux guest I
have the following issue:
Guest:
$ ls -la /mnt/shared
total 8
drwxr-xrwx. 2 135 135 4096 Aug 2 13:08 .
dr-xr-xr-x. 17 root root 224 May 23 10:58 ..
-rw-r--rw-. 1 135 135 27 Aug 2 13:07 readme.txt
Host:
$ rm readme.txt
Guest:
$ ls -la /mnt/shared
total 8
drwxr-xrwx. 2 135 135 4096 Aug 2 13:10 .
dr-xr-xr-x. 17 root root 224 May 23 10:58 ..
-rw-r--rw-. 1 135 135 27 Aug 2 13:07 .nfs0000000001b600d000000005
Guest:
$ cat /mnt/shared/readme.txt
This is a readme.txt file.
So it seems that the virtiofsd has a reference to the file which the guest
is not aware of and is unable to send a FUSE_FORGET message. This results
in a file not actually deleted (renamed to .nfsXXX) and is still accessible
by the guest.
I have a similar problem when deleting a file from a Windows guest side.
The FUSE_READDIR(PLUS) commands add a reference count to files which the OS
doesn't have a file context for. However I was able to solve it (for now?)
by keeping track of returned files' inodes.
Is this behaviour current and by design?
Thanks,
Gal.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://listman.redhat.com/archives/virtio-fs/attachments/20210802/6638ccd6/attachment.htm>
More information about the Virtio-fs
mailing list