aboutsummaryrefslogtreecommitdiffstats
path: root/kernel/file.c
diff options
context:
space:
mode:
authorMiklos Szeredi <miklos@szeredi.hu>2005-07-28 11:07:29 +0000
committerMiklos Szeredi <miklos@szeredi.hu>2005-07-28 11:07:29 +0000
commit1b188024c85b135154405f78a2caef82317e550d (patch)
tree3b3af42e3030be1e402e712663a2b9f5c6a193f8 /kernel/file.c
parenta6ddeaacdc9890f1422b64804fe876c56f1b4c69 (diff)
downloadlibfuse-1b188024c85b135154405f78a2caef82317e550d.tar.gz
fix
Diffstat (limited to 'kernel/file.c')
-rw-r--r--kernel/file.c9
1 files changed, 3 insertions, 6 deletions
diff --git a/kernel/file.c b/kernel/file.c
index 02dc9f0..9cf7413 100644
--- a/kernel/file.c
+++ b/kernel/file.c
@@ -248,8 +248,7 @@ static int fuse_readpage(struct file *file, struct page *page)
fuse_put_request(fc, req);
if (!err)
SetPageUptodate(page);
- if (!(inode->i_sb->s_flags & MS_NOATIME))
- fuse_invalidate_attr(inode);
+ fuse_invalidate_attr(inode); /* atime changed */
out:
unlock_page(page);
return err;
@@ -270,8 +269,6 @@ static int fuse_send_readpages(struct fuse_req *req, struct file *file,
SetPageUptodate(page);
unlock_page(page);
}
- if (!(inode->i_sb->s_flags & MS_NOATIME))
- fuse_invalidate_attr(inode);
return req->out.h.error;
}
@@ -321,6 +318,7 @@ static int fuse_readpages(struct file *file, struct address_space *mapping,
if (!err && data.req->num_pages)
err = fuse_send_readpages(data.req, file, inode);
fuse_put_request(fc, data.req);
+ fuse_invalidate_attr(inode); /* atime changed */
return err;
}
#else /* KERNEL_2_6 */
@@ -582,8 +580,7 @@ static ssize_t fuse_direct_io(struct file *file, const char __user *buf,
i_size_write(inode, pos);
*ppos = pos;
}
- if (write || !(inode->i_sb->s_flags & MS_NOATIME))
- fuse_invalidate_attr(inode);
+ fuse_invalidate_attr(inode);
return res;
}