[Virtio-fs] Deleting files when using NFS as a shared folder

Dr. David Alan Gilbert dgilbert at redhat.com
Mon Aug 2 10:36:37 UTC 2021


* Gal Hammer (ghammer at redhat.com) wrote:
> 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?

Current problem, not really by design; the problem is the O_PATH files
that we have open for the inodes.  I thought if the guest sent the
forget for the file then it got closed.

Dave


> Thanks,
> 
>     Gal.

> _______________________________________________
> Virtio-fs mailing list
> Virtio-fs at redhat.com
> https://listman.redhat.com/mailman/listinfo/virtio-fs

-- 
Dr. David Alan Gilbert / dgilbert at redhat.com / Manchester, UK




More information about the Virtio-fs mailing list