diff options
author | Miklos Szeredi <miklos@szeredi.hu> | 2001-10-24 14:37:13 +0000 |
---|---|---|
committer | Miklos Szeredi <miklos@szeredi.hu> | 2001-10-24 14:37:13 +0000 |
commit | 79b52f63303c15d4545a7464775f4b1beab8d2c9 (patch) | |
tree | 7f3c12670af489f58740408ad755e775e27803ef /fuse_i.h | |
parent | d8318555890588b0982749fdd23826d9ddb02098 (diff) | |
download | libfuse-79b52f63303c15d4545a7464775f4b1beab8d2c9.tar.gz |
improvements
Diffstat (limited to 'fuse_i.h')
-rw-r--r-- | fuse_i.h | 37 |
1 files changed, 36 insertions, 1 deletions
@@ -7,6 +7,8 @@ */ #include <linux/fs.h> +#include <linux/list.h> +#include <linux/spinlock.h> #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; }; /** @@ -31,11 +62,15 @@ 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 |