• Amir Goldstein's avatar
    fanotify: allow "weak" fsid when watching a single filesystem · 30ad1938
    Amir Goldstein authored
    So far, fanotify returns -ENODEV or -EXDEV when trying to set a mark
    on a filesystem with a "weak" fsid, namely, zero fsid (e.g. fuse), or
    non-uniform fsid (e.g. btrfs non-root subvol).
    
    When group is watching inodes all from the same filesystem (or subvol),
    allow adding inode marks with "weak" fsid, because there is no ambiguity
    regarding which filesystem reports the event.
    
    The first mark added to a group determines if this group is single or
    multi filesystem, depending on the fsid at the path of the added mark.
    
    If the first mark added has a "strong" fsid, marks with "weak" fsid
    cannot be added and vice versa.
    
    If the first mark added has a "weak" fsid, following marks must have
    the same "weak" fsid and the same sb as the first mark.
    Signed-off-by: default avatarAmir Goldstein <amir73il@gmail.com>
    Signed-off-by: default avatarJan Kara <jack@suse.cz>
    Message-Id: <20231130165619.3386452-3-amir73il@gmail.com>
    30ad1938
fanotify.c 30 KB