linux/fs/fuse
Brian Foster a8894274a3 fuse: update attributes on aio_read
A fuse-based network filesystem might allow for the inode
and/or file data to change unexpectedly. A local client
that opens and repeatedly reads a file might never pick
up on such changes and indefinitely return stale data.

Always invoke fuse_update_attributes() in the read path
to cause an attr revalidation when the attributes expire.
This leads to a page cache invalidation if necessary and
ensures fuse issues new read requests to the fuse client.

The original logic (reval only on reads beyond EOF) is
preserved unless the client specifies FUSE_AUTO_INVAL_DATA
on init.

Signed-off-by: Brian Foster <bfoster@redhat.com>
Signed-off-by: Miklos Szeredi <mszeredi@suse.cz>
2012-07-18 16:09:40 +02:00
..
control.c fuse: Convert to kstrtoul_from_user 2012-04-25 12:25:05 +02:00
cuse.c fs: add module.h to files that were implicitly using it 2011-10-31 19:30:31 -04:00
dev.c fuse: remove the second argument of k[un]map_atomic() 2012-03-20 21:48:22 +08:00
dir.c fuse: fix blksize calculation 2012-05-14 17:12:56 +02:00
file.c fuse: update attributes on aio_read 2012-07-18 16:09:40 +02:00
fuse_i.h fuse: add FUSE_AUTO_INVAL_DATA init flag 2012-07-18 16:09:40 +02:00
inode.c fuse: invalidate inode mapping if mtime changes 2012-07-18 16:09:40 +02:00
Kconfig fs/Kconfig: move fuse out 2009-01-22 13:15:55 +03:00
Makefile CUSE: implement CUSE - Character device in Userspace 2009-06-09 11:24:11 +02:00