} else if (req->in.h.opcode == FUSE_RELEASE && req->inode == NULL) { /* Special case for failed iget in CREATE */ u64 nodeid = req->in.h.nodeid; __fuse_get_request(req); fuse_reset_request(req); fuse_send_forget(fc, req, nodeid, 1); putback = 0; 
static void request_end(struct fuse_conn *fc, struct fuse_req *req){	int putback;	req->finished = 1;	putback = atomic_dec_and_test(&req->count);	spin_unlock(&fuse_lock);	if (req->background) {		down_read(&fc->sbput_sem);		if (fc->mounted)			fuse_release_background(req);		up_read(&fc->sbput_sem);	}	wake_up(&req->waitq);	if (req->in.h.opcode == FUSE_INIT) {		int i;		if (req->misc.init_in_out.major != FUSE_KERNEL_VERSION)			fc->conn_error = 1;		/* After INIT reply is received other requests can go		   out.  So do (FUSE_MAX_OUTSTANDING - 1) number of		   up()s on outstanding_sem.  The last up() is done in		   fuse_putback_request() */		for (i = 1; i < FUSE_MAX_OUTSTANDING; i++)			up(&fc->outstanding_sem);	}	if (putback)		fuse_putback_request(fc, req);}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/fd72faac95d7e47610e981d7ed7b3c1529e55c88/dev.c/buggy/fs/fuse/dev.c