summaryrefslogtreecommitdiff
path: root/fs/fuse/fuse_i.h
diff options
context:
space:
mode:
authorMiklos Szeredi <mszeredi@redhat.com>2018-10-01 10:07:04 +0200
committerMiklos Szeredi <mszeredi@redhat.com>2018-10-01 10:07:04 +0200
commit7118883b44b8edfea732aadeb0d4424da3f152b2 (patch)
treebded501b21b8493499fb0eda642fae6fdd2413b8 /fs/fuse/fuse_i.h
parent3494927e090bf511e54eecaf33a8e56e5c0463db (diff)
fuse: use mtime for readdir cache verification
Store the modification time of the directory in the cache, obtained before starting to fill the cache. When reading the cache, verify that the directory hasn't changed, by checking if current modification time is the same as the one stored in the cache. This only needs to be done when the current file position is at the beginning of the directory, as mandated by POSIX. Signed-off-by: Miklos Szeredi <mszeredi@redhat.com>
Diffstat (limited to 'fs/fuse/fuse_i.h')
-rw-r--r--fs/fuse/fuse_i.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/fs/fuse/fuse_i.h b/fs/fuse/fuse_i.h
index 8b24805e62ee..3deb013a289e 100644
--- a/fs/fuse/fuse_i.h
+++ b/fs/fuse/fuse_i.h
@@ -117,6 +117,9 @@ struct fuse_inode {
/* version of the cache */
u64 version;
+ /* modification time of directory when cache was started */
+ struct timespec64 mtime;
+
/* protects above fields */
spinlock_t lock;
} rdc;