if (S_ISREG(inode->i_mode)) { fuse_init_common(inode); } else if (S_ISDIR(inode->i_mode)) fuse_init_dir(inode); else if (S_ISLNK(inode->i_mode)) fuse_init_symlink(inode); else if (S_ISCHR(inode->i_mode) || S_ISBLK(inode->i_mode) || S_ISFIFO(inode->i_mode) || S_ISSOCK(inode->i_mode)) { 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); } 
static void fuse_init_inode(struct inode *inode, struct fuse_attr *attr){	inode->i_mode = attr->mode & S_IFMT;	i_size_write(inode, attr->size);}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/e5e5558e923f35839108a12718494ecb73fb782f/inode.c/clean/fs/fuse/inode.c