diff options
author | Miklos Szeredi <mszeredi@suse.cz> | 2009-11-04 10:24:52 +0100 |
---|---|---|
committer | Miklos Szeredi <mszeredi@suse.cz> | 2009-11-04 10:24:52 +0100 |
commit | 5219f346b0ea2a2a8821f1e966b190788c285b0b (patch) | |
tree | 61063605b09431b84a8dbbee81d1e4fc59712f48 /fs/fuse/dir.c | |
parent | 0bd87182d3ab18a32a8e9175d3f68754c58e3432 (diff) | |
download | linux-stable-5219f346b0ea2a2a8821f1e966b190788c285b0b.tar.gz linux-stable-5219f346b0ea2a2a8821f1e966b190788c285b0b.tar.bz2 linux-stable-5219f346b0ea2a2a8821f1e966b190788c285b0b.zip |
fuse: invalidate target of rename
Invalidate the target's attributes, which may have changed (such as
nlink, change time) so that they are refreshed on the next getattr().
Signed-off-by: Miklos Szeredi <mszeredi@suse.cz>
Diffstat (limited to 'fs/fuse/dir.c')
-rw-r--r-- | fs/fuse/dir.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/fs/fuse/dir.c b/fs/fuse/dir.c index 992f6c9410bb..8ada78aade58 100644 --- a/fs/fuse/dir.c +++ b/fs/fuse/dir.c @@ -712,8 +712,10 @@ static int fuse_rename(struct inode *olddir, struct dentry *oldent, fuse_invalidate_attr(newdir); /* newent will end up negative */ - if (newent->d_inode) + if (newent->d_inode) { + fuse_invalidate_attr(newent->d_inode); fuse_invalidate_entry_cache(newent); + } } else if (err == -EINTR) { /* If request was interrupted, DEITY only knows if the rename actually took place. If the invalidation |