]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
cephfs-shell: get command should never create a directory on its own
authordparmar18 <dparmar@redhat.com>
Wed, 6 Apr 2022 14:41:06 +0000 (20:11 +0530)
committerdparmar18 <dparmar@redhat.com>
Tue, 17 May 2022 08:19:19 +0000 (13:49 +0530)
Descrption: When using the get command on a single file, it would append the remote path to
            source path and create directories that shouldn't be created. For instance,
            file 'foo.txt' resides at `/dir1/dir2/` and `get` command is used to copy it to
            /tmp/foo then it would do `/tmp/dir1/dir2/foo.txt` which is not the expected
            behavior. Therefore this PR intends to correct this behavior.

Fixes: https://tracker.ceph.com/issues/55112
Signed-off-by: Dhairya Parmar <dparmar@redhat.com>
(cherry picked from commit 64df8c2cdf352ff93404a895f2ce3a395341a6ed)

src/tools/cephfs/cephfs-shell

index 7cd5cb73c86a76b151264b61332f248516f6bbc1..7a1c0dca6e77f832cfe2db529014999c1672bdb4 100755 (executable)
@@ -737,8 +737,7 @@ class CephFSShell(Cmd):
                 return
             copy_to_local(root_src_dir, b'-')
         elif is_file_exists(args.remote_path):
-            copy_to_local(root_src_dir,
-                          root_dst_dir + b'/' + root_src_dir)
+            copy_to_local(root_src_dir, root_dst_dir)
         elif b'/' in root_src_dir and is_file_exists(fname[1], fname[0]):
             copy_to_local(root_src_dir, root_dst_dir)
         else: