aboutsummaryrefslogtreecommitdiffstats
path: root/kernel/dev.c
diff options
context:
space:
mode:
authorMiklos Szeredi <miklos@szeredi.hu>2004-11-02 17:32:03 +0000
committerMiklos Szeredi <miklos@szeredi.hu>2004-11-02 17:32:03 +0000
commita13d90020721d30c3ac03b4e6905aa54cab1aed7 (patch)
tree7a919bf696f6fedbca5177bec5451894d5f81433 /kernel/dev.c
parent874e3c166213a1dec3d191f78adc87b156c3f6e8 (diff)
downloadlibfuse-a13d90020721d30c3ac03b4e6905aa54cab1aed7.tar.gz
added support for setting the st_ino field
Diffstat (limited to 'kernel/dev.c')
-rw-r--r--kernel/dev.c24
1 files changed, 6 insertions, 18 deletions
diff --git a/kernel/dev.c b/kernel/dev.c
index c783ead..2e081d0 100644
--- a/kernel/dev.c
+++ b/kernel/dev.c
@@ -433,33 +433,21 @@ static inline int copy_out_header(struct fuse_out_header *oh, const char *buf,
return 0;
}
-#ifdef KERNEL_2_6
static int fuse_invalidate(struct fuse_conn *fc, struct fuse_user_header *uh)
{
- struct inode *inode = ilookup(fc->sb, uh->ino);
+ struct inode *inode = fuse_ilookup(fc, uh->ino, uh->nodeid);
if (!inode)
return -ENOENT;
fuse_sync_inode(inode);
+#ifdef KERNEL_2_6
invalidate_inode_pages(inode->i_mapping);
+#else
+ invalidate_inode_pages(inode);
+#endif
+
iput(inode);
return 0;
}
-#else
-static int fuse_invalidate(struct fuse_conn *fc, struct fuse_user_header *uh)
-{
- struct inode *inode = iget(fc->sb, uh->ino);
- int err = -ENOENT;
- if (inode) {
- if (INO_FI(inode)) {
- fuse_sync_inode(inode);
- invalidate_inode_pages(inode);
- err = 0;
- }
- iput(inode);
- }
- return err;
-}
-#endif
static int fuse_user_request(struct fuse_conn *fc, const char *buf,
size_t nbytes)