aboutsummaryrefslogtreecommitdiffstats
path: root/fs/9p/vfs_inode.c
diff options
context:
space:
mode:
Diffstat (limited to 'fs/9p/vfs_inode.c')
-rw-r--r--fs/9p/vfs_inode.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/fs/9p/vfs_inode.c b/fs/9p/vfs_inode.c
index 3bbf705634b2..bce66f56c62c 100644
--- a/fs/9p/vfs_inode.c
+++ b/fs/9p/vfs_inode.c
@@ -904,9 +904,12 @@ v9fs_vfs_rename(struct inode *old_dir, struct dentry *old_dentry,
904 904
905 down_write(&v9ses->rename_sem); 905 down_write(&v9ses->rename_sem);
906 if (v9fs_proto_dotl(v9ses)) { 906 if (v9fs_proto_dotl(v9ses)) {
907 retval = p9_client_rename(oldfid, newdirfid, 907 retval = p9_client_renameat(olddirfid, old_dentry->d_name.name,
908 (char *) new_dentry->d_name.name); 908 newdirfid, new_dentry->d_name.name);
909 if (retval != -ENOSYS) 909 if (retval == -EOPNOTSUPP)
910 retval = p9_client_rename(oldfid, newdirfid,
911 new_dentry->d_name.name);
912 if (retval != -EOPNOTSUPP)
910 goto clunk_newdir; 913 goto clunk_newdir;
911 } 914 }
912 if (old_dentry->d_parent != new_dentry->d_parent) { 915 if (old_dentry->d_parent != new_dentry->d_parent) {