return -ERESTARTNOINTR; 
return -EINTR; 
static int fuse_rename(struct inode *olddir, struct dentry *oldent,		       struct inode *newdir, struct dentry *newent){	int err;	struct fuse_rename_in inarg;	struct fuse_conn *fc = get_fuse_conn(olddir);	struct fuse_req *req = fuse_get_request(fc);	if (!req)		return -ERESTARTNOINTR;	memset(&inarg, 0, sizeof(inarg));	inarg.newdir = get_node_id(newdir);	req->in.h.opcode = FUSE_RENAME;	req->in.h.nodeid = get_node_id(olddir);	req->inode = olddir;	req->inode2 = newdir;	req->in.numargs = 3;	req->in.args[0].size = sizeof(inarg);	req->in.args[0].value = &inarg;	req->in.args[1].size = oldent->d_name.len + 1;	req->in.args[1].value = oldent->d_name.name;	req->in.args[2].size = newent->d_name.len + 1;	req->in.args[2].value = newent->d_name.name;	request_send(fc, req);	err = req->out.h.error;	fuse_put_request(fc, req);	if (!err) {		fuse_invalidate_attr(olddir);		if (olddir != newdir)			fuse_invalidate_attr(newdir);	} else if (err == -EINTR) {		/* If request was interrupted, DEITY only knows if the		   rename actually took place.  If the invalidation		   fails (e.g. some process has CWD under the renamed		   directory), then there can be inconsistency between		   the dcache and the real filesystem.  Tough luck. */		fuse_invalidate_entry(oldent);		if (newent->d_inode)			fuse_invalidate_entry(newent);	}	return err;}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/7c352bdf048811b8128019ffc1e886161e09c11c/dir.c/clean/fs/fuse/dir.c