Skip to content
Snippets Groups Projects
Commit ff03d08f authored by Trond Myklebust's avatar Trond Myklebust Committed by Laibin Qiu
Browse files

NFS: Ensure the server has an up to date ctime before hardlinking


stable inclusion
from linux-4.19.228
commit ddeea0002d17984d66bb63f9b66b96fd604756ad

--------------------------------

[ Upstream commit 204975036b34f55237bc44c8a302a88468ef21b5 ]

Creating a hard link 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: 9f768272 ("NFS: Move the delegation return down into nfs4_proc_link()")
Signed-off-by: default avatarTrond Myklebust <trond.myklebust@hammerspace.com>
Signed-off-by: default avatarAnna Schumaker <Anna.Schumaker@Netapp.com>
Signed-off-by: default avatarSasha Levin <sashal@kernel.org>
Signed-off-by: default avatarYongqiang Liu <liuyongqiang13@huawei.com>
Signed-off-by: default avatarLaibin Qiu <qiulaibin@huawei.com>
parent 89141213
Branches
Tags
No related merge requests found
......@@ -2052,6 +2052,8 @@ nfs_link(struct dentry *old_dentry, struct inode *dir, struct dentry *dentry)
trace_nfs_link_enter(inode, dir, dentry);
d_drop(dentry);
if (S_ISREG(inode->i_mode))
nfs_sync_inode(inode);
error = NFS_PROTO(dir)->link(inode, dir, &dentry->d_name);
if (error == 0) {
ihold(inode);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment