diff options
author | Miklos Szeredi <miklos@szeredi.hu> | 2007-12-12 18:59:44 +0000 |
---|---|---|
committer | Miklos Szeredi <miklos@szeredi.hu> | 2007-12-12 18:59:44 +0000 |
commit | 2429afb7f70da6706d65a06a34c4503daf151067 (patch) | |
tree | cf86f83d35a4b961f16a3fdb2e6a6a7881931782 /kernel/dir.c | |
parent | 5e32023279d2a11e304dbb2310bf67b8950e91f5 (diff) | |
download | libfuse-2429afb7f70da6706d65a06a34c4503daf151067.tar.gz |
Fix kernel module compile for 2.6.24
Diffstat (limited to 'kernel/dir.c')
-rw-r--r-- | kernel/dir.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/kernel/dir.c b/kernel/dir.c index c5316d9..b1fe4c6 100644 --- a/kernel/dir.c +++ b/kernel/dir.c @@ -191,7 +191,7 @@ static int invalid_nodeid(u64 nodeid) return !nodeid || nodeid == FUSE_ROOT_ID; } -static struct dentry_operations fuse_dentry_operations = { +struct dentry_operations fuse_dentry_operations = { .d_revalidate = fuse_dentry_revalidate, }; @@ -378,6 +378,7 @@ static int fuse_create_open(struct inode *dir, struct dentry *entry, int mode, } fuse_put_request(fc, forget_req); d_instantiate(entry, inode); + fuse_invalidate_attr(dir); fuse_change_timeout(entry, &outentry); file = lookup_instantiate_filp(nd, entry, generic_file_open); if (IS_ERR(file)) { @@ -619,6 +620,9 @@ static int fuse_rename(struct inode *olddir, struct dentry *oldent, err = req->out.h.error; fuse_put_request(fc, req); if (!err) { + /* ctime changes */ + fuse_invalidate_attr(oldent->d_inode); + fuse_invalidate_attr(olddir); if (olddir != newdir) fuse_invalidate_attr(newdir); |