req->in.h.len = sizeof(struct fuse_in_header) +
                len_args(req->in.numargs, (struct fuse_arg *) req->in.args);
        list_add_tail(&req->list, &fc->pending);
-       req->state = FUSE_REQ_PENDING;
        wake_up(&fc->waitq);
        kill_fasync(&fc->fasync, SIGIO, POLL_IN);
 }
        }
 
        req = list_entry(fc->pending.next, struct fuse_req, list);
-       req->state = FUSE_REQ_READING;
+       req->state = FUSE_REQ_IO;
        list_move(&req->list, &fc->io);
 
        in = &req->in;
                return nbytes;
        }
 
-       req->state = FUSE_REQ_WRITING;
+       req->state = FUSE_REQ_IO;
        list_move(&req->list, &fc->io);
        req->out.h = oh;
        set_bit(FR_LOCKED, &req->flags);
 
                }
        }
 
-       if (old_req->num_pages == 1 && (old_req->state == FUSE_REQ_INIT ||
-                                       old_req->state == FUSE_REQ_PENDING)) {
+       if (old_req->num_pages == 1 && old_req->state == FUSE_REQ_PENDING) {
                struct backing_dev_info *bdi = inode_to_bdi(page->mapping->host);
 
                copy_highpage(old_req->pages[0], page);