• Amir Goldstein's avatar
    ovl: enable fsnotify events on underlying real files · bc2473c9
    Amir Goldstein authored
    Overlayfs creates the real underlying files with fake f_path, whose
    f_inode is on the underlying fs and f_path on overlayfs.
    
    Those real files were open with FMODE_NONOTIFY, because fsnotify code was
    not prapared to handle fsnotify hooks on files with fake path correctly
    and fanotify would report unexpected event->fd with fake overlayfs path,
    when the underlying fs was being watched.
    
    Teach fsnotify to handle events on the real files, and do not set real
    files to FMODE_NONOTIFY to allow operations on real file (e.g. open,
    access, modify, close) to generate async and permission events.
    
    Because fsnotify does not have notifications on address space
    operations, we do not need to worry about ->vm_file not reporting
    events to a watched overlayfs when users are accessing a mapped
    overlayfs file.
    Acked-by: default avatarJan Kara <jack@suse.cz>
    Signed-off-by: default avatarAmir Goldstein <amir73il@gmail.com>
    Message-Id: <20230615112229.2143178-6-amir73il@gmail.com>
    Signed-off-by: default avatarChristian Brauner <brauner@kernel.org>
    bc2473c9
file.c 16 KB