From c3696046beb3a4479715b48f67f6a8a3aef4b3bb Mon Sep 17 00:00:00 2001 From: Miklos Szeredi Date: Wed, 1 Jul 2015 16:26:09 +0200 Subject: fuse: separate pqueue for clones Make each fuse device clone refer to a separate processing queue. The only constraint on userspace code is that the request answer must be written to the same device clone as it was read off. Signed-off-by: Miklos Szeredi --- fs/fuse/fuse_i.h | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) (limited to 'fs/fuse/fuse_i.h') diff --git a/fs/fuse/fuse_i.h b/fs/fuse/fuse_i.h index 42d59cbd47e7..405113101db8 100644 --- a/fs/fuse/fuse_i.h +++ b/fs/fuse/fuse_i.h @@ -424,6 +424,9 @@ struct fuse_dev { /** Fuse connection for this device */ struct fuse_conn *fc; + /** Processing queue */ + struct fuse_pqueue pq; + /** list entry on fc->devices */ struct list_head entry; }; @@ -442,6 +445,9 @@ struct fuse_conn { /** Refcount */ atomic_t count; + /** Number of fuse_dev's */ + atomic_t dev_count; + struct rcu_head rcu; /** The user id for this mount */ @@ -462,9 +468,6 @@ struct fuse_conn { /** Input queue */ struct fuse_iqueue iq; - /** Processing queue */ - struct fuse_pqueue pq; - /** The next unique kernel file handle */ u64 khctr; -- cgit v1.2.3