diff options
author | Miklos Szeredi <miklos@szeredi.hu> | 2007-11-28 19:22:03 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-11-29 12:24:54 -0500 |
commit | 08b633070ad5fa17a837428a601c32cf3db6aafd (patch) | |
tree | 3aa400a5f3f70bfa99f871f9aa3b80610ebb0053 /fs/fuse/dir.c | |
parent | fbee36b92abc965d3fc2862aa60fd0dfcf779d0b (diff) |
fuse: fix attribute caching after rename
Invalidate attributes on rename, since some filesystems may update
st_ctime. Reported by Szabolcs Szakacsits
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>
Diffstat (limited to 'fs/fuse/dir.c')
-rw-r--r-- | fs/fuse/dir.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/fs/fuse/dir.c b/fs/fuse/dir.c index dfc32dc97f7f..80d2f5292cf9 100644 --- a/fs/fuse/dir.c +++ b/fs/fuse/dir.c | |||
@@ -657,6 +657,9 @@ static int fuse_rename(struct inode *olddir, struct dentry *oldent, | |||
657 | err = req->out.h.error; | 657 | err = req->out.h.error; |
658 | fuse_put_request(fc, req); | 658 | fuse_put_request(fc, req); |
659 | if (!err) { | 659 | if (!err) { |
660 | /* ctime changes */ | ||
661 | fuse_invalidate_attr(oldent->d_inode); | ||
662 | |||
660 | fuse_invalidate_attr(olddir); | 663 | fuse_invalidate_attr(olddir); |
661 | if (olddir != newdir) | 664 | if (olddir != newdir) |
662 | fuse_invalidate_attr(newdir); | 665 | fuse_invalidate_attr(newdir); |