diff options
author | Trond Myklebust <Trond.Myklebust@netapp.com> | 2005-11-04 15:35:02 -0500 |
---|---|---|
committer | Trond Myklebust <Trond.Myklebust@netapp.com> | 2005-11-04 15:35:02 -0500 |
commit | 34ea818846e6cccdd6e05354ab8c8a6d7e34657a (patch) | |
tree | d00d3d61c03454856c9047afaab3ba60a2e84f32 | |
parent | 2c56617d76fa7b2a709d58abd7ed68889cc88b90 (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>
-rw-r--r-- | fs/nfs/dir.c | 3 |
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; |