Loading fs/fuse/dev.c +9 −5 Original line number Diff line number Diff line Loading @@ -327,11 +327,15 @@ static u64 fuse_get_unique(struct fuse_iqueue *fiq) return ++fiq->reqctr; } static void queue_request(struct fuse_iqueue *fiq, struct fuse_req *req) static void queue_request(struct fuse_iqueue *fiq, struct fuse_req *req, bool sync) { 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, &fiq->pending); if (sync) wake_up_sync(&fiq->waitq); else wake_up(&fiq->waitq); kill_fasync(&fiq->fasync, SIGIO, POLL_IN); } Loading Loading @@ -368,7 +372,7 @@ static void flush_bg_queue(struct fuse_conn *fc) fc->active_background++; spin_lock(&fiq->lock); req->in.h.unique = fuse_get_unique(fiq); queue_request(fiq, req); queue_request(fiq, req, 0); spin_unlock(&fiq->lock); } } Loading Loading @@ -497,7 +501,7 @@ static void __fuse_request_send(struct fuse_conn *fc, struct fuse_req *req) req->out.h.error = -ENOTCONN; } else { req->in.h.unique = fuse_get_unique(fiq); queue_request(fiq, req); queue_request(fiq, req, 1); /* acquire extra reference, since request is still needed after request_end() */ __fuse_get_request(req); Loading Loading @@ -637,7 +641,7 @@ static int fuse_request_send_notify_reply(struct fuse_conn *fc, req->in.h.unique = unique; spin_lock(&fiq->lock); if (fiq->connected) { queue_request(fiq, req); queue_request(fiq, req, 0); err = 0; } spin_unlock(&fiq->lock); Loading Loading
fs/fuse/dev.c +9 −5 Original line number Diff line number Diff line Loading @@ -327,11 +327,15 @@ static u64 fuse_get_unique(struct fuse_iqueue *fiq) return ++fiq->reqctr; } static void queue_request(struct fuse_iqueue *fiq, struct fuse_req *req) static void queue_request(struct fuse_iqueue *fiq, struct fuse_req *req, bool sync) { 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, &fiq->pending); if (sync) wake_up_sync(&fiq->waitq); else wake_up(&fiq->waitq); kill_fasync(&fiq->fasync, SIGIO, POLL_IN); } Loading Loading @@ -368,7 +372,7 @@ static void flush_bg_queue(struct fuse_conn *fc) fc->active_background++; spin_lock(&fiq->lock); req->in.h.unique = fuse_get_unique(fiq); queue_request(fiq, req); queue_request(fiq, req, 0); spin_unlock(&fiq->lock); } } Loading Loading @@ -497,7 +501,7 @@ static void __fuse_request_send(struct fuse_conn *fc, struct fuse_req *req) req->out.h.error = -ENOTCONN; } else { req->in.h.unique = fuse_get_unique(fiq); queue_request(fiq, req); queue_request(fiq, req, 1); /* acquire extra reference, since request is still needed after request_end() */ __fuse_get_request(req); Loading Loading @@ -637,7 +641,7 @@ static int fuse_request_send_notify_reply(struct fuse_conn *fc, req->in.h.unique = unique; spin_lock(&fiq->lock); if (fiq->connected) { queue_request(fiq, req); queue_request(fiq, req, 0); err = 0; } spin_unlock(&fiq->lock); Loading