Re: [RFC PATCH 0/7] Inotify support in FUSE and virtiofs
From: Vivek Goyal
Date: Tue Oct 26 2021 - 12:19:16 EST
On Tue, Oct 26, 2021 at 06:23:50PM +0300, Amir Goldstein wrote:
[..]
> > 3) The lifetime of the local watch in the guest kernel is very
> > important. Specifically, there is a possibility that the guest does not
> > receive remote events on time, if it removes its local watch on the
> > target or deletes the inode (and thus the guest kernel removes the watch).
> > In these cases the guest kernel removes the local watch before the
> > remote events arrive from the host (virtiofsd) and as such the guest
> > kernel drops all the remote events for the target inode (since the
> > corresponding local watch does not exist anymore).
So this is one of the issues which has been haunting us in virtiofs. If
a file is removed, for local events, event is generated first and
then watch is removed. But in case of remote filesystems, it is racy.
It is possible that by the time event arrives, watch is already gone
and application never sees the delete event.
Not sure how to address this issue.
Vivek