kernel_optimize_test/fs/fuse
Miklos Szeredi 802dc0497b fuse: don't need GETATTR after every READ
If 'auto_inval_data' mode is active, then fuse_file_read_iter() will call
fuse_update_attributes(), which will check the attribute validity and send
a GETATTR request if some of the attributes are no longer valid.  The page
cache is then invalidated if the size or mtime have changed.

Then, if a READ request was sent and reply received (which is the case if
the data wasn't cached yet, or if the file is opened for O_DIRECT), the
atime attribute is invalidated.

This will result in the next read() also triggering a GETATTR, ...

This can be fixed by only sending GETATTR if the mode or size are invalid,
we don't need to do a refresh if only atime is invalid.

More generally, none of the callers of fuse_update_attributes() need an
up-to-date atime value, so for now just remove STATX_ATIME from the request
mask when attributes are updated for internal use.

Signed-off-by: Miklos Szeredi <mszeredi@redhat.com>
2018-10-15 15:43:06 +02:00
..
acl.c fuse: Support fuse filesystems outside of init_user_ns 2018-03-20 17:11:44 +01:00
control.c fuse: introduce fc->bg_lock 2018-09-28 16:43:22 +02:00
cuse.c fuse: Support fuse filesystems outside of init_user_ns 2018-03-20 17:11:44 +01:00
dev.c fuse: realloc page array 2018-10-01 10:07:06 +02:00
dir.c fuse: don't need GETATTR after every READ 2018-10-15 15:43:06 +02:00
file.c fuse: realloc page array 2018-10-01 10:07:06 +02:00
fuse_i.h fuse: allow fine grained attr cache invaldation 2018-10-15 15:43:06 +02:00
inode.c fuse: allow fine grained attr cache invaldation 2018-10-15 15:43:06 +02:00
Kconfig fuse: Add posix ACL support 2016-10-01 07:32:32 +02:00
Makefile fuse: split out readdir.c 2018-09-28 16:43:23 +02:00
readdir.c fuse: use iversion for readdir cache verification 2018-10-01 10:07:05 +02:00
xattr.c fuse: Ensure posix acls are translated outside of init_user_ns 2018-05-31 12:26:10 +02:00