Explorar o código

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>
Miklos Szeredi %!s(int64=15) %!d(string=hai) anos
pai
achega
5219f346b0
Modificáronse 1 ficheiros con 3 adicións e 1 borrados
  1. 3 1
      fs/fuse/dir.c

+ 3 - 1
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