aboutsummaryrefslogtreecommitdiffstats
path: root/fs/fuse/file.c
diff options
context:
space:
mode:
authorMiklos Szeredi <mszeredi@suse.cz>2007-10-17 02:31:02 -0400
committerLinus Torvalds <torvalds@woody.linux-foundation.org>2007-10-17 11:43:04 -0400
commit244f6385c2891e366a7de5f6746ccc257efd8952 (patch)
tree09d51e0f55d9e88dad48941cc0a63e0253306e47 /fs/fuse/file.c
parent074406fa6309ab8b0aca15496b16b3653e58c03d (diff)
fuse: refresh stale attributes in fuse_permission()
fuse_permission() didn't refresh inode attributes before using them, even if the validity has already expired. Thanks to Junjiro Okajima for spotting this. Also remove some old code to unconditionally refresh the attributes on the root inode. Signed-off-by: Miklos Szeredi <mszeredi@suse.cz> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'fs/fuse/file.c')
-rw-r--r--fs/fuse/file.c8
1 files changed, 0 insertions, 8 deletions
diff --git a/fs/fuse/file.c b/fs/fuse/file.c
index fb1713e76756..f3ef2bde983b 100644
--- a/fs/fuse/file.c
+++ b/fs/fuse/file.c
@@ -106,14 +106,6 @@ int fuse_open_common(struct inode *inode, struct file *file, int isdir)
106 if (err) 106 if (err)
107 return err; 107 return err;
108 108
109 /* If opening the root node, no lookup has been performed on
110 it, so the attributes must be refreshed */
111 if (get_node_id(inode) == FUSE_ROOT_ID) {
112 err = fuse_do_getattr(inode);
113 if (err)
114 return err;
115 }
116
117 ff = fuse_file_alloc(); 109 ff = fuse_file_alloc();
118 if (!ff) 110 if (!ff)
119 return -ENOMEM; 111 return -ENOMEM;