MODULE_ALIAS_MISCDEV(FUSE_MINOR);
MODULE_ALIAS("devname:fuse");
+static DECLARE_WAIT_QUEUE_HEAD(fuse_dev_waitq);
+
static struct kmem_cache *fuse_req_cachep;
static void fuse_request_init(struct fuse_mount *fm, struct fuse_req *req)
} else {
list_add_tail(&fud->entry, &fc->chan->devices);
fuse_conn_get(fc);
+ wake_up_all(&fuse_dev_waitq);
}
spin_unlock(&fc->chan->lock);
}
#define FUSE_INT_REQ_BIT (1ULL << 0)
#define FUSE_REQ_ID_STEP (1ULL << 1)
-extern struct wait_queue_head fuse_dev_waitq;
-
struct fuse_arg;
struct fuse_args;
struct fuse_pqueue;
static struct kmem_cache *fuse_inode_cachep;
struct list_head fuse_conn_list;
DEFINE_MUTEX(fuse_mutex);
-DECLARE_WAIT_QUEUE_HEAD(fuse_dev_waitq);
static int set_global_limit(const char *val, const struct kernel_param *kp);
list_add_tail(&fc->entry, &fuse_conn_list);
sb->s_root = root_dentry;
- if (fud) {
+ if (fud)
fuse_dev_install(fud, fc);
- wake_up_all(&fuse_dev_waitq);
- }
+
mutex_unlock(&fuse_mutex);
return 0;