aboutsummaryrefslogtreecommitdiffstats
path: root/fs/nfs/dir.c
diff options
context:
space:
mode:
authorTrond Myklebust <Trond.Myklebust@netapp.com>2005-11-04 15:35:02 -0500
committerTrond Myklebust <Trond.Myklebust@netapp.com>2005-11-04 15:35:02 -0500
commit34ea818846e6cccdd6e05354ab8c8a6d7e34657a (patch)
treed00d3d61c03454856c9047afaab3ba60a2e84f32 /fs/nfs/dir.c
parent2c56617d76fa7b2a709d58abd7ed68889cc88b90 (diff)
NFSv4: Return any delegations before sillyrenaming the file
I missed this one... Any form of rename will result in a delegation recall, so it is more efficient to return the one we hold before trying the rename. Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
Diffstat (limited to 'fs/nfs/dir.c')
-rw-r--r--fs/nfs/dir.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/fs/nfs/dir.c b/fs/nfs/dir.c
index 8272ed3fc707..7370583b61e5 100644
--- a/fs/nfs/dir.c
+++ b/fs/nfs/dir.c
@@ -1257,6 +1257,9 @@ dentry->d_parent->d_name.name, dentry->d_name.name);
1257 sprintf(silly, ".nfs%*.*lx", 1257 sprintf(silly, ".nfs%*.*lx",
1258 i_inosize, i_inosize, dentry->d_inode->i_ino); 1258 i_inosize, i_inosize, dentry->d_inode->i_ino);
1259 1259
1260 /* Return delegation in anticipation of the rename */
1261 nfs_inode_return_delegation(dentry->d_inode);
1262
1260 sdentry = NULL; 1263 sdentry = NULL;
1261 do { 1264 do {
1262 char *suffix = silly + slen - countersize; 1265 char *suffix = silly + slen - countersize;