• Miklos Szeredi's avatar
    fuse: implement statx · d3045530
    Miklos Szeredi authored
    Allow querying btime.  When btime is requested in mask, then FUSE_STATX
    request is sent.  Otherwise keep using FUSE_GETATTR.
    
    The userspace interface for statx matches that of the statx(2) API.
    However there are limitations on how this interface is used:
    
     - returned basic stats and btime are used, stx_attributes, etc. are
       ignored
    
     - always query basic stats and btime, regardless of what was requested
    
     - requested sync type is ignored, the default is passed to the server
    
     - if server returns with some attributes missing from the result_mask,
       then no attributes will be cached
    
     - btime is not cached yet (next patch will fix that)
    
    For new inodes initialize fi->inval_mask to "all invalid", instead of "all
    valid" as previously.  Also only clear basic stats from inval_mask when
    caching attributes.  This will result in the caching logic not thinking
    that btime is cached.
    Signed-off-by: default avatarMiklos Szeredi <mszeredi@redhat.com>
    d3045530
fuse_i.h 32.9 KB