diff options
Diffstat (limited to 'fs/9p/vfs_inode.c')
-rw-r--r-- | fs/9p/vfs_inode.c | 9 |
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) { |