Commit 7a3b2c75 authored by Miklos Szeredi's avatar Miklos Szeredi

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: default avatarMiklos Szeredi <mszeredi@suse.cz>
Reviewed-by: default avatarAshish Samant <ashish.samant@oracle.com>
parent c4775267
...@@ -327,7 +327,6 @@ static void queue_request(struct fuse_conn *fc, struct fuse_req *req) ...@@ -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) + req->in.h.len = sizeof(struct fuse_in_header) +
len_args(req->in.numargs, (struct fuse_arg *) req->in.args); len_args(req->in.numargs, (struct fuse_arg *) req->in.args);
list_add_tail(&req->list, &fc->pending); list_add_tail(&req->list, &fc->pending);
req->state = FUSE_REQ_PENDING;
wake_up(&fc->waitq); wake_up(&fc->waitq);
kill_fasync(&fc->fasync, SIGIO, POLL_IN); 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, ...@@ -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 = 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); list_move(&req->list, &fc->io);
in = &req->in; in = &req->in;
...@@ -1905,7 +1904,7 @@ static ssize_t fuse_dev_do_write(struct fuse_conn *fc, ...@@ -1905,7 +1904,7 @@ static ssize_t fuse_dev_do_write(struct fuse_conn *fc,
return nbytes; return nbytes;
} }
req->state = FUSE_REQ_WRITING; req->state = FUSE_REQ_IO;
list_move(&req->list, &fc->io); list_move(&req->list, &fc->io);
req->out.h = oh; req->out.h = oh;
set_bit(FR_LOCKED, &req->flags); set_bit(FR_LOCKED, &req->flags);
......
...@@ -1743,8 +1743,7 @@ static bool fuse_writepage_in_flight(struct fuse_req *new_req, ...@@ -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 || if (old_req->num_pages == 1 && old_req->state == FUSE_REQ_PENDING) {
old_req->state == FUSE_REQ_PENDING)) {
struct backing_dev_info *bdi = inode_to_bdi(page->mapping->host); struct backing_dev_info *bdi = inode_to_bdi(page->mapping->host);
copy_highpage(old_req->pages[0], page); copy_highpage(old_req->pages[0], page);
......
...@@ -243,11 +243,9 @@ struct fuse_args { ...@@ -243,11 +243,9 @@ struct fuse_args {
/** The request state */ /** The request state */
enum fuse_req_state { enum fuse_req_state {
FUSE_REQ_INIT = 0, FUSE_REQ_PENDING = 0,
FUSE_REQ_PENDING, FUSE_REQ_IO,
FUSE_REQ_READING,
FUSE_REQ_SENT, FUSE_REQ_SENT,
FUSE_REQ_WRITING,
FUSE_REQ_FINISHED FUSE_REQ_FINISHED
}; };
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment