diff mbox series

[2/2] NFS: Ensure the server has an up to date ctime before renaming

Message ID 20211215213816.33864-2-trondmy@kernel.org (mailing list archive)
State New, archived
Headers show
Series [1/2] NFS: Ensure the server has an up to date ctime before hardlinking | expand

Commit Message

Trond Myklebust Dec. 15, 2021, 9:38 p.m. UTC
From: Trond Myklebust <trond.myklebust@hammerspace.com>

Renaming a file is required by POSIX to update the file ctime, so
ensure that the file data is synced to disk so that we don't clobber the
updated ctime by writing back after creating the hard link.

Fixes: f2c2c552f119 ("NFS: Move delegation recall into the NFSv4 callback for rename_setup()")
Signed-off-by: Trond Myklebust <trond.myklebust@hammerspace.com>
---
 fs/nfs/dir.c | 2 ++
 1 file changed, 2 insertions(+)
diff mbox series

Patch

diff --git a/fs/nfs/dir.c b/fs/nfs/dir.c
index 4c4fdb208c7b..27f0ad481749 100644
--- a/fs/nfs/dir.c
+++ b/fs/nfs/dir.c
@@ -2470,6 +2470,8 @@  int nfs_rename(struct user_namespace *mnt_userns, struct inode *old_dir,
 		}
 	}
 
+	if (S_ISREG(old_inode->i_mode))
+		nfs_sync_inode(old_inode);
 	task = nfs_async_rename(old_dir, new_dir, old_dentry, new_dentry, NULL);
 	if (IS_ERR(task)) {
 		error = PTR_ERR(task);