fuse: fix uninitialized field in fuse_inode

I found problems accessing (executing) previously existing files, until
I did chmod on them (or setattr).

If the fi->attr_version is not initialized, then it could be
larger than fc->attr_version until a setattr is executed, and as a
result the inode attributes would never be set.

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>
This commit is contained in:
John Muir 2007-11-28 16:22:02 -08:00 committed by Linus Torvalds
parent d0186b25e6
commit fbee36b92a
1 changed files with 1 additions and 0 deletions

View File

@ -56,6 +56,7 @@ static struct inode *fuse_alloc_inode(struct super_block *sb)
fi->i_time = 0; fi->i_time = 0;
fi->nodeid = 0; fi->nodeid = 0;
fi->nlookup = 0; fi->nlookup = 0;
fi->attr_version = 0;
INIT_LIST_HEAD(&fi->write_files); INIT_LIST_HEAD(&fi->write_files);
fi->forget_req = fuse_request_alloc(); fi->forget_req = fuse_request_alloc();
if (!fi->forget_req) { if (!fi->forget_req) {