|
@@ -232,6 +232,7 @@ static void fuse_put_super(struct super_block *sb)
|
|
kill_fasync(&fc->fasync, SIGIO, POLL_IN);
|
|
kill_fasync(&fc->fasync, SIGIO, POLL_IN);
|
|
wake_up_all(&fc->waitq);
|
|
wake_up_all(&fc->waitq);
|
|
wake_up_all(&fc->blocked_waitq);
|
|
wake_up_all(&fc->blocked_waitq);
|
|
|
|
+ wake_up_all(&fc->reserved_req_waitq);
|
|
mutex_lock(&fuse_mutex);
|
|
mutex_lock(&fuse_mutex);
|
|
list_del(&fc->entry);
|
|
list_del(&fc->entry);
|
|
fuse_ctl_remove_conn(fc);
|
|
fuse_ctl_remove_conn(fc);
|
|
@@ -410,6 +411,7 @@ static struct fuse_conn *new_conn(void)
|
|
atomic_set(&fc->count, 1);
|
|
atomic_set(&fc->count, 1);
|
|
init_waitqueue_head(&fc->waitq);
|
|
init_waitqueue_head(&fc->waitq);
|
|
init_waitqueue_head(&fc->blocked_waitq);
|
|
init_waitqueue_head(&fc->blocked_waitq);
|
|
|
|
+ init_waitqueue_head(&fc->reserved_req_waitq);
|
|
INIT_LIST_HEAD(&fc->pending);
|
|
INIT_LIST_HEAD(&fc->pending);
|
|
INIT_LIST_HEAD(&fc->processing);
|
|
INIT_LIST_HEAD(&fc->processing);
|
|
INIT_LIST_HEAD(&fc->io);
|
|
INIT_LIST_HEAD(&fc->io);
|