diff options
Diffstat (limited to 'kernel/fuse_i.h')
-rw-r--r-- | kernel/fuse_i.h | 18 |
1 files changed, 8 insertions, 10 deletions
diff --git a/kernel/fuse_i.h b/kernel/fuse_i.h index 8e3b416..d0cde75 100644 --- a/kernel/fuse_i.h +++ b/kernel/fuse_i.h @@ -79,6 +79,7 @@ permission checking is done in the kernel */ /** FUSE specific inode data */ struct fuse_inode { + unsigned long nodeid; struct fuse_req *forget_req; struct rw_semaphore write_sem; unsigned long i_time; @@ -261,7 +262,7 @@ struct fuse_getdir_out_i { #endif #define INO_FC(inode) SB_FC((inode)->i_sb) #define DEV_FC(file) ((file)->private_data) -#define INO_FI(inode) ((inode)->u.generic_ip) +#define INO_FI(i) ((struct fuse_inode *) (((struct inode *)(i))+1)) /** @@ -278,15 +279,17 @@ extern spinlock_t fuse_lock; /** * Get a filled in inode */ -struct inode *fuse_iget(struct super_block *sb, ino_t ino, int generation, - struct fuse_attr *attr, int version); +struct inode *fuse_iget(struct super_block *sb, unsigned long nodeid, + int generation, struct fuse_attr *attr, int version); +struct inode *fuse_ilookup(struct fuse_conn *fc, ino_t ino, unsigned long nodeid); + /** * Send FORGET command */ -void fuse_send_forget(struct fuse_conn *fc, struct fuse_req *req, ino_t ino, - int version); +void fuse_send_forget(struct fuse_conn *fc, struct fuse_req *req, + unsigned long nodeid, int version); /** * Initialise operations on regular file @@ -381,11 +384,6 @@ 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 |