diff options
author | Miklos Szeredi <miklos@szeredi.hu> | 2004-11-23 22:32:16 +0000 |
---|---|---|
committer | Miklos Szeredi <miklos@szeredi.hu> | 2004-11-23 22:32:16 +0000 |
commit | a25d4c2e7ea3741c5cf44d17d955c9bae91ca128 (patch) | |
tree | d269cd16628e5ceddf1f9c3693223d40e4fdace2 /kernel/fuse_i.h | |
parent | 72cf5c9d9eced708d212db49a9ae9f261b8cfcd9 (diff) | |
download | libfuse-a25d4c2e7ea3741c5cf44d17d955c9bae91ca128.tar.gz |
various fixes
Diffstat (limited to 'kernel/fuse_i.h')
-rw-r--r-- | kernel/fuse_i.h | 30 |
1 files changed, 19 insertions, 11 deletions
diff --git a/kernel/fuse_i.h b/kernel/fuse_i.h index e454fd0..c5b8e23 100644 --- a/kernel/fuse_i.h +++ b/kernel/fuse_i.h @@ -42,6 +42,10 @@ #include <linux/wait.h> #include <linux/list.h> #include <linux/spinlock.h> +#ifdef KERNEL_2_6 +#include <linux/mm.h> +#include <linux/backing-dev.h> +#endif #include <asm/semaphore.h> #ifndef BUG_ON @@ -152,15 +156,6 @@ struct fuse_req { /** True if the request has reply */ unsigned int isreply:1; - /** The request is locked */ - unsigned int locked:1; - - /** The request has been interrupted while it was locked */ - unsigned int interrupted:1; - - /* The request has been sent to the client */ - unsigned int sent:1; - /* The request is preallocated */ unsigned int preallocated:1; @@ -264,6 +259,11 @@ struct fuse_conn { /** Is removexattr not implemented by fs? */ unsigned int no_removexattr : 1; + +#ifdef KERNEL_2_6 + /** Backing dev info */ + struct backing_dev_info bdi; +#endif }; struct fuse_getdir_out_i { @@ -283,7 +283,16 @@ struct fuse_getdir_out_i { extern struct file_operations fuse_dev_operations; /** - * The lock to protect fuses structures + * This is the single global spinlock which protects FUSE's structures + * + * The following data is protected by this lock: + * + * - the private_data field of the device file + * - the s_fs_info field of the super block + * - unused_list, pending, processing lists in fuse_conn + * - the unique request ID counter reqctr in fuse_conn + * - the sb (super_block) field in fuse_conn + * - the file (device file) field in fuse_conn */ extern spinlock_t fuse_lock; @@ -336,7 +345,6 @@ int fuse_fs_init(void); */ void fuse_fs_cleanup(void); - /** * Allocate a request */ |