aboutsummaryrefslogtreecommitdiffstats
path: root/fs/cifs
diff options
context:
space:
mode:
authorPavel Shilovsky <pshilovsky@samba.org>2014-08-18 12:49:58 -0400
committerSteve French <smfrench@gmail.com>2014-08-17 06:08:46 -0400
commitb46799a8f28c43c5264ac8d8ffa28b311b557e03 (patch)
treef519d2ee068849666edb8d563af7a711020ec6ff /fs/cifs
parent52755808d4525f4d5b86d112d36ffc7a46f3fb48 (diff)
CIFS: Fix wrong directory attributes after rename
When we requests rename we also need to update attributes of both source and target parent directories. Not doing it causes generic/309 xfstest to fail on SMB2 mounts. Fix this by marking these directories for force revalidating. Cc: <stable@vger.kernel.org> Signed-off-by: Pavel Shilovsky <pshilovsky@samba.org> Signed-off-by: Steve French <smfrench@gmail.com>
Diffstat (limited to 'fs/cifs')
-rw-r--r--fs/cifs/inode.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/fs/cifs/inode.c b/fs/cifs/inode.c
index 41de3935caa0..753e7a3486de 100644
--- a/fs/cifs/inode.c
+++ b/fs/cifs/inode.c
@@ -1717,6 +1717,12 @@ unlink_target:
1717 target_dentry, to_name); 1717 target_dentry, to_name);
1718 } 1718 }
1719 1719
1720 /* force revalidate to go get info when needed */
1721 CIFS_I(source_dir)->time = CIFS_I(target_dir)->time = 0;
1722
1723 source_dir->i_ctime = source_dir->i_mtime = target_dir->i_ctime =
1724 target_dir->i_mtime = current_fs_time(source_dir->i_sb);
1725
1720cifs_rename_exit: 1726cifs_rename_exit:
1721 kfree(info_buf_source); 1727 kfree(info_buf_source);
1722 kfree(from_name); 1728 kfree(from_name);