From 79b52f63303c15d4545a7464775f4b1beab8d2c9 Mon Sep 17 00:00:00 2001 From: Miklos Szeredi Date: Wed, 24 Oct 2001 14:37:13 +0000 Subject: improvements --- fuse_i.h | 37 ++++++++++++++++++++++++++++++++++++- 1 file changed, 36 insertions(+), 1 deletion(-) (limited to 'fuse_i.h') diff --git a/fuse_i.h b/fuse_i.h index 5e1cc1c..70e149c 100644 --- a/fuse_i.h +++ b/fuse_i.h @@ -7,6 +7,8 @@ */ #include +#include +#include #define FUSE_VERSION "0.1" @@ -23,6 +25,35 @@ struct fuse_conn { /** The opened client device */ struct file *file; + + /** The client wait queue */ + wait_queue_head_t waitq; + + /** The list of pending requests */ + struct list_head pending; + + /** The list of requests being processed */ + struct list_head processing; + + /** The number of outstanding requests */ + int outstanding; + + /** Connnection number (for debuging) */ + int id; +}; + +/** + * A filesystem request + */ +struct fuse_req { + /** The request list */ + struct list_head list; + + /** The size of the data */ + size_t size; + + /** A pointer to the data */ + void *data; }; /** @@ -30,12 +61,16 @@ struct fuse_conn { */ extern struct proc_dir_entry *proc_fuse_dev; +/** + * The lock to protect fuses structures + */ +extern spinlock_t fuse_lock; + /** * Fill in the directory operations */ void fuse_dir_init(struct inode *inode); - /** * Check if the connection can be released, and if yes, then free the * connection structure -- cgit v1.2.3