From 0aada88476a33690c9569b094191ce92a38e6541 Mon Sep 17 00:00:00 2001 From: Maxim Patlasov Date: Thu, 21 Mar 2013 18:02:28 +0400 Subject: fuse: skip blocking on allocations of synchronous requests A task may have at most one synchronous request allocated. So these requests need not be otherwise limited. The patch re-works fuse_get_req() to follow this idea. Signed-off-by: Maxim Patlasov Signed-off-by: Miklos Szeredi --- fs/fuse/inode.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) (limited to 'fs/fuse/inode.c') diff --git a/fs/fuse/inode.c b/fs/fuse/inode.c index 4958f8099f16..17ec1f70524d 100644 --- a/fs/fuse/inode.c +++ b/fs/fuse/inode.c @@ -583,7 +583,7 @@ void fuse_conn_init(struct fuse_conn *fc) fc->khctr = 0; fc->polled_files = RB_ROOT; fc->reqctr = 0; - fc->blocked = 1; + fc->blocked = 0; fc->initialized = 0; fc->attr_version = 1; get_random_bytes(&fc->scramble_key, sizeof(fc->scramble_key)); @@ -883,7 +883,6 @@ static void process_init_reply(struct fuse_conn *fc, struct fuse_req *req) fc->max_write = max_t(unsigned, 4096, fc->max_write); fc->conn_init = 1; } - fc->blocked = 0; fc->initialized = 1; wake_up_all(&fc->blocked_waitq); } -- cgit v1.2.1