summaryrefslogtreecommitdiffstats
path: root/fs/fuse
diff options
context:
space:
mode:
authorMiklos Szeredi <mszeredi@suse.cz>2015-07-01 16:25:56 +0200
committerMiklos Szeredi <mszeredi@suse.cz>2015-07-01 16:25:56 +0200
commit73e0e738441b26a2dfc1ccdf1462cd1dc13c8cea (patch)
tree1fd802548fc413dd88f09e8d351c858878e7ec0d /fs/fuse
parentfuse: fix background request if not connected (diff)
downloadlinux-73e0e738441b26a2dfc1ccdf1462cd1dc13c8cea.tar.xz
linux-73e0e738441b26a2dfc1ccdf1462cd1dc13c8cea.zip
fuse: reset waiting
Reset req->waiting in fuse_put_request(). This is needed for correct accounting in fc->num_waiting for reserved requests. Signed-off-by: Miklos Szeredi <mszeredi@suse.cz>
Diffstat (limited to 'fs/fuse')
-rw-r--r--fs/fuse/dev.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/fs/fuse/dev.c b/fs/fuse/dev.c
index 6aa4803510e7..24f1d77b87a4 100644
--- a/fs/fuse/dev.c
+++ b/fs/fuse/dev.c
@@ -287,8 +287,10 @@ void fuse_put_request(struct fuse_conn *fc, struct fuse_req *req)
spin_unlock(&fc->lock);
}
- if (req->waiting)
+ if (req->waiting) {
atomic_dec(&fc->num_waiting);
+ req->waiting = 0;
+ }
if (req->stolen_file)
put_reserved_req(fc, req);