fuse: simplify req states
FUSE_REQ_INIT is actually the same state as FUSE_REQ_PENDING and FUSE_REQ_READING and FUSE_REQ_WRITING can be merged into a common FUSE_REQ_IO state. Signed-off-by: Miklos Szeredi <mszeredi@suse.cz> Reviewed-by: Ashish Samant <ashish.samant@oracle.com>
This commit is contained in:
Родитель
c47752673a
Коммит
7a3b2c7547
|
@ -327,7 +327,6 @@ static void queue_request(struct fuse_conn *fc, struct fuse_req *req)
|
|||
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);
|
||||
}
|
||||
|
@ -1274,7 +1273,7 @@ static ssize_t fuse_dev_do_read(struct fuse_conn *fc, struct file *file,
|
|||
}
|
||||
|
||||
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;
|
||||
|
@ -1905,7 +1904,7 @@ static ssize_t fuse_dev_do_write(struct fuse_conn *fc,
|
|||
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);
|
||||
|
|
|
@ -1743,8 +1743,7 @@ static bool fuse_writepage_in_flight(struct fuse_req *new_req,
|
|||
}
|
||||
}
|
||||
|
||||
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);
|
||||
|
|
|
@ -243,11 +243,9 @@ struct fuse_args {
|
|||
|
||||
/** The request state */
|
||||
enum fuse_req_state {
|
||||
FUSE_REQ_INIT = 0,
|
||||
FUSE_REQ_PENDING,
|
||||
FUSE_REQ_READING,
|
||||
FUSE_REQ_PENDING = 0,
|
||||
FUSE_REQ_IO,
|
||||
FUSE_REQ_SENT,
|
||||
FUSE_REQ_WRITING,
|
||||
FUSE_REQ_FINISHED
|
||||
};
|
||||
|
||||
|
|
Загрузка…
Ссылка в новой задаче