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 --- 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 8272ed3..7370583 100644 --- a/fs/nfs/dir.c +++ b/fs/nfs/dir.c @@ -1257,6 +1257,9 @@ dentry->d_parent->d_name.name, dentry->d sprintf(silly, ".nfs%*.*lx", i_inosize, i_inosize, dentry->d_inode->i_ino); + /* Return delegation in anticipation of the rename */ + nfs_inode_return_delegation(dentry->d_inode); + sdentry = NULL; do { char *suffix = silly + slen - countersize;