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:
parent
d0186b25e6
commit
fbee36b92a
|
@ -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) {
|
||||||
|
|
Loading…
Reference in New Issue