fuse: invalidate target of rename
authorMiklos Szeredi <mszeredi@suse.cz>
Wed, 4 Nov 2009 09:24:52 +0000 (10:24 +0100)
committerMiklos Szeredi <mszeredi@suse.cz>
Wed, 4 Nov 2009 09:24:52 +0000 (10:24 +0100)
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>
fs/fuse/dir.c

index 992f6c9..8ada78a 100644 (file)
@@ -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