summaryrefslogtreecommitdiff
path: root/lib/dynamic_queue_limits.c
diff options
context:
space:
mode:
authorBrian Foster <bfoster@redhat.com>2012-07-16 15:23:50 -0400
committerMiklos Szeredi <mszeredi@suse.cz>2012-07-18 16:09:40 +0200
commita8894274a3581125fb311eabfc97cd0123740c5e (patch)
tree5d229b3f11b1e9800b95f47bdd1570c2b40e7675 /lib/dynamic_queue_limits.c
parenteed2179efe1aac145bf6d54b925b750976380fa6 (diff)
downloadlinux-3.10-a8894274a3581125fb311eabfc97cd0123740c5e.tar.gz
linux-3.10-a8894274a3581125fb311eabfc97cd0123740c5e.tar.bz2
linux-3.10-a8894274a3581125fb311eabfc97cd0123740c5e.zip
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>
Diffstat (limited to 'lib/dynamic_queue_limits.c')
0 files changed, 0 insertions, 0 deletions