diff options
author | Miklos Szeredi <miklos@szeredi.hu> | 2006-01-06 00:19:43 -0800 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-01-06 08:33:56 -0800 |
commit | 39ee059affaf57a152c64cd3a0adc3f48f02ed71 (patch) | |
tree | d656f8b3eb40cd1019a82d4381bbfa33e6caec8e /fs/fuse/inode.c | |
parent | 6ad84acab972f4dfc78e6fdb04c419f82c497d29 (diff) | |
download | kernel_samsung_aries-39ee059affaf57a152c64cd3a0adc3f48f02ed71.zip kernel_samsung_aries-39ee059affaf57a152c64cd3a0adc3f48f02ed71.tar.gz kernel_samsung_aries-39ee059affaf57a152c64cd3a0adc3f48f02ed71.tar.bz2 |
[PATCH] fuse: check file type in lookup
Previously invalid types were quietly changed to regular files, but at
revalidation the inode was changed to bad. This was rather inconsistent
behavior.
Now check if the type is valid on initial lookup, and return -EIO if not.
Signed-off-by: Miklos Szeredi <miklos@szeredi.hu>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'fs/fuse/inode.c')
-rw-r--r-- | fs/fuse/inode.c | 8 |
1 files changed, 2 insertions, 6 deletions
diff --git a/fs/fuse/inode.c b/fs/fuse/inode.c index e454186..04c80cc 100644 --- a/fs/fuse/inode.c +++ b/fs/fuse/inode.c @@ -135,12 +135,8 @@ static void fuse_init_inode(struct inode *inode, struct fuse_attr *attr) fuse_init_common(inode); init_special_inode(inode, inode->i_mode, new_decode_dev(attr->rdev)); - } else { - /* Don't let user create weird files */ - inode->i_mode = S_IFREG; - fuse_init_common(inode); - fuse_init_file_inode(inode); - } + } else + BUG(); } static int fuse_inode_eq(struct inode *inode, void *_nodeidp) |