diff options
Diffstat (limited to 'fs/fuse/inode.c')
-rw-r--r-- | fs/fuse/inode.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/fs/fuse/inode.c b/fs/fuse/inode.c index caf77d5a6e8d..7b146bb68dd5 100644 --- a/fs/fuse/inode.c +++ b/fs/fuse/inode.c @@ -577,6 +577,13 @@ static void fuse_iqueue_init(struct fuse_iqueue *fiq) fiq->connected = 1; } +static void fuse_pqueue_init(struct fuse_pqueue *fpq) +{ + memset(fpq, 0, sizeof(struct fuse_pqueue)); + INIT_LIST_HEAD(&fpq->processing); + INIT_LIST_HEAD(&fpq->io); +} + void fuse_conn_init(struct fuse_conn *fc) { memset(fc, 0, sizeof(*fc)); @@ -586,8 +593,7 @@ void fuse_conn_init(struct fuse_conn *fc) init_waitqueue_head(&fc->blocked_waitq); init_waitqueue_head(&fc->reserved_req_waitq); fuse_iqueue_init(&fc->iq); - INIT_LIST_HEAD(&fc->processing); - INIT_LIST_HEAD(&fc->io); + fuse_pqueue_init(&fc->pq); INIT_LIST_HEAD(&fc->bg_queue); INIT_LIST_HEAD(&fc->entry); atomic_set(&fc->num_waiting, 0); |