diff options
author | Miklos Szeredi <mszeredi@suse.cz> | 2008-04-30 03:54:44 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2008-04-30 11:29:51 -0400 |
commit | b48badf013018ef2aa4a46416454bdb18f77fb01 (patch) | |
tree | 62ac36c4699c47174fbfbb4d87c6d98988378346 | |
parent | e5d9a0df07484d6d191756878c974e4307fb24ce (diff) |
fuse: fix node ID type
Node ID is 64bit but it is passed as unsigned long to some functions. This
breakage wasn't noticed, because libfuse uses unsigned long too.
Signed-off-by: Miklos Szeredi <mszeredi@suse.cz>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
-rw-r--r-- | fs/fuse/fuse_i.h | 4 | ||||
-rw-r--r-- | fs/fuse/inode.c | 8 |
2 files changed, 6 insertions, 6 deletions
diff --git a/fs/fuse/fuse_i.h b/fs/fuse/fuse_i.h index 934dd819a4ef..dadffa21a206 100644 --- a/fs/fuse/fuse_i.h +++ b/fs/fuse/fuse_i.h | |||
@@ -464,7 +464,7 @@ extern const struct file_operations fuse_dev_operations; | |||
464 | /** | 464 | /** |
465 | * Get a filled in inode | 465 | * Get a filled in inode |
466 | */ | 466 | */ |
467 | struct inode *fuse_iget(struct super_block *sb, unsigned long nodeid, | 467 | struct inode *fuse_iget(struct super_block *sb, u64 nodeid, |
468 | int generation, struct fuse_attr *attr, | 468 | int generation, struct fuse_attr *attr, |
469 | u64 attr_valid, u64 attr_version); | 469 | u64 attr_valid, u64 attr_version); |
470 | 470 | ||
@@ -472,7 +472,7 @@ struct inode *fuse_iget(struct super_block *sb, unsigned long nodeid, | |||
472 | * Send FORGET command | 472 | * Send FORGET command |
473 | */ | 473 | */ |
474 | void fuse_send_forget(struct fuse_conn *fc, struct fuse_req *req, | 474 | void fuse_send_forget(struct fuse_conn *fc, struct fuse_req *req, |
475 | unsigned long nodeid, u64 nlookup); | 475 | u64 nodeid, u64 nlookup); |
476 | 476 | ||
477 | /** | 477 | /** |
478 | * Initialize READ or READDIR request | 478 | * Initialize READ or READDIR request |
diff --git a/fs/fuse/inode.c b/fs/fuse/inode.c index 0cef5ea319f3..79b615873838 100644 --- a/fs/fuse/inode.c +++ b/fs/fuse/inode.c | |||
@@ -84,7 +84,7 @@ static void fuse_destroy_inode(struct inode *inode) | |||
84 | } | 84 | } |
85 | 85 | ||
86 | void fuse_send_forget(struct fuse_conn *fc, struct fuse_req *req, | 86 | void fuse_send_forget(struct fuse_conn *fc, struct fuse_req *req, |
87 | unsigned long nodeid, u64 nlookup) | 87 | u64 nodeid, u64 nlookup) |
88 | { | 88 | { |
89 | struct fuse_forget_in *inarg = &req->misc.forget_in; | 89 | struct fuse_forget_in *inarg = &req->misc.forget_in; |
90 | inarg->nlookup = nlookup; | 90 | inarg->nlookup = nlookup; |
@@ -207,7 +207,7 @@ static void fuse_init_inode(struct inode *inode, struct fuse_attr *attr) | |||
207 | 207 | ||
208 | static int fuse_inode_eq(struct inode *inode, void *_nodeidp) | 208 | static int fuse_inode_eq(struct inode *inode, void *_nodeidp) |
209 | { | 209 | { |
210 | unsigned long nodeid = *(unsigned long *) _nodeidp; | 210 | u64 nodeid = *(u64 *) _nodeidp; |
211 | if (get_node_id(inode) == nodeid) | 211 | if (get_node_id(inode) == nodeid) |
212 | return 1; | 212 | return 1; |
213 | else | 213 | else |
@@ -216,12 +216,12 @@ static int fuse_inode_eq(struct inode *inode, void *_nodeidp) | |||
216 | 216 | ||
217 | static int fuse_inode_set(struct inode *inode, void *_nodeidp) | 217 | static int fuse_inode_set(struct inode *inode, void *_nodeidp) |
218 | { | 218 | { |
219 | unsigned long nodeid = *(unsigned long *) _nodeidp; | 219 | u64 nodeid = *(u64 *) _nodeidp; |
220 | get_fuse_inode(inode)->nodeid = nodeid; | 220 | get_fuse_inode(inode)->nodeid = nodeid; |
221 | return 0; | 221 | return 0; |
222 | } | 222 | } |
223 | 223 | ||
224 | struct inode *fuse_iget(struct super_block *sb, unsigned long nodeid, | 224 | struct inode *fuse_iget(struct super_block *sb, u64 nodeid, |
225 | int generation, struct fuse_attr *attr, | 225 | int generation, struct fuse_attr *attr, |
226 | u64 attr_valid, u64 attr_version) | 226 | u64 attr_valid, u64 attr_version) |
227 | { | 227 | { |