diff options
author | Tavian Barnes <tavianator@tavianator.com> | 2019-08-29 23:45:45 -0400 |
---|---|---|
committer | Tavian Barnes <tavianator@tavianator.com> | 2019-08-29 23:45:45 -0400 |
commit | 57eeb5374fc6468846683576c9c81859367bbf8a (patch) | |
tree | 9e6f1a849dc4d1fbf5a93f8b2d83fb8fddd19d1e | |
parent | a30b3f503bede87043262343ed26d6995b0a85d9 (diff) | |
download | bfs-57eeb5374fc6468846683576c9c81859367bbf8a.tar.xz |
stat: New BFS_STAT_NOSYNC flag
-rw-r--r-- | stat.c | 3 | ||||
-rw-r--r-- | stat.h | 2 |
2 files changed, 5 insertions, 0 deletions
@@ -300,6 +300,9 @@ int bfs_stat(int at_fd, const char *at_path, enum bfs_stat_flag flags, struct bf if (flags & BFS_STAT_NOFOLLOW) { at_flags |= AT_SYMLINK_NOFOLLOW; } + if (flags & BFS_STAT_NOSYNC) { + at_flags |= AT_STATX_DONT_SYNC; + } if (at_path) { return bfs_stat_explicit(at_fd, at_path, at_flags, flags, buf); @@ -69,6 +69,8 @@ enum bfs_stat_flag { BFS_STAT_NOFOLLOW = 1 << 0, /** Try to follow symlinks, but fall back to the link itself if broken. */ BFS_STAT_TRYFOLLOW = 1 << 1, + /** Try to use cached values without synchronizing remote filesystems. */ + BFS_STAT_NOSYNC = 1 << 2, }; #ifdef DEV_BSIZE |