aboutsummaryrefslogtreecommitdiffstats
path: root/kernel/fuse_i.h
diff options
context:
space:
mode:
Diffstat (limited to 'kernel/fuse_i.h')
-rw-r--r--kernel/fuse_i.h18
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