if (!outarg.nodeid || outarg.nodeid == FUSE_ROOT_ID) { 
if (invalid_nodeid(outarg.nodeid)) { 
static int create_new_entry(struct fuse_conn *fc, struct fuse_req *req,			    struct inode *dir, struct dentry *entry,			    int mode){	struct fuse_entry_out outarg;	struct inode *inode;	struct fuse_inode *fi;	int err;	req->in.h.nodeid = get_node_id(dir);	req->inode = dir;	req->out.numargs = 1;	req->out.args[0].size = sizeof(outarg);	req->out.args[0].value = &outarg;	request_send(fc, req);	err = req->out.h.error;	if (err) {		fuse_put_request(fc, req);		return err;	}	if (!outarg.nodeid || outarg.nodeid == FUSE_ROOT_ID) {		fuse_put_request(fc, req);		return -EIO;	}	inode = fuse_iget(dir->i_sb, outarg.nodeid, outarg.generation,			  &outarg.attr);	if (!inode) {		fuse_send_forget(fc, req, outarg.nodeid, 1);		return -ENOMEM;	}	fuse_put_request(fc, req);	/* Don't allow userspace to do really stupid things... */	if (((inode->i_mode ^ mode) & S_IFMT) || dir_alias(inode)) {		iput(inode);		return -EIO;	}	entry->d_time = time_to_jiffies(outarg.entry_valid,					outarg.entry_valid_nsec);	fi = get_fuse_inode(inode);	fi->i_time = time_to_jiffies(outarg.attr_valid,				     outarg.attr_valid_nsec);	d_instantiate(entry, inode);	fuse_invalidate_attr(dir);	return 0;}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/2827d0b23b7279d0a717eea4029efeef2e1b0183/dir.c/buggy/fs/fuse/dir.c