From 069c950a5e9c4df16be9fd5ab5f26fdacdc5e72a Mon Sep 17 00:00:00 2001 From: Miklos Szeredi Date: Fri, 16 Jul 2004 16:17:02 +0000 Subject: fixes and improvements --- kernel/fuse_i.h | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) (limited to 'kernel/fuse_i.h') diff --git a/kernel/fuse_i.h b/kernel/fuse_i.h index fdd4625..4b03990 100644 --- a/kernel/fuse_i.h +++ b/kernel/fuse_i.h @@ -65,6 +65,13 @@ permission checking is done in the kernel */ /** Bypass the page cache for read and write operations */ #define FUSE_DIRECT_IO (1 << 4) +/** FUSE specific inode data */ +struct fuse_inode { + struct fuse_req *forget_req; + struct rw_semaphore write_sem; + unsigned long i_time; +}; + /** One input argument of a request */ struct fuse_in_arg { unsigned int size; @@ -223,7 +230,8 @@ struct fuse_getdir_out_i { #define SB_FC(sb) ((sb)->u.generic_sbp) #endif #define INO_FC(inode) SB_FC((inode)->i_sb) -#define DEV_FC(file) ((struct fuse_conn *) (file)->private_data) +#define DEV_FC(file) ((file)->private_data) +#define INO_FI(inode) ((inode)->u.generic_ip) /** @@ -292,6 +300,11 @@ struct fuse_req *fuse_request_alloc(void); */ void fuse_request_free(struct fuse_req *req); +/** + * Reinitialize a request, the preallocated flag is left unmodified + */ +void fuse_reset_request(struct fuse_req *req); + /** * Reserve a preallocated request */ @@ -333,6 +346,11 @@ int fuse_do_getattr(struct inode *inode); */ void fuse_sync_inode(struct inode *inode); +/** + * Allocate fuse specific inode data + */ +struct fuse_inode *fuse_inode_alloc(void); + /* * Local Variables: * indent-tabs-mode: t -- cgit v1.2.3