• Miklos Szeredi's avatar
    fuse: cache btime · 972f4c46
    Miklos Szeredi authored
    Not all inode attributes are supported by all filesystems, but for the
    basic stats (which are returned by stat(2) and friends) all of them will
    have some value, even if that doesn't reflect a real attribute of the file.
    
    Btime is different, in that filesystems are free to report or not report a
    value in statx.  If the value is available, then STATX_BTIME bit is set in
    stx_mask.
    
    When caching the value of btime, remember the availability of the attribute
    as well as the value (if available).  This is done by using the
    FUSE_I_BTIME bit in fuse_inode->state to indicate availability, while using
    fuse_inode->inval_mask & STATX_BTIME to indicate the state of the cache
    itself (i.e. set if cache is invalid, and cleared if cache is valid).
    Signed-off-by: default avatarMiklos Szeredi <mszeredi@redhat.com>
    972f4c46
inode.c 47.8 KB