]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
pybind: fix unicode handling in CephFSVolumeClient::purge
authorJohn Spray <john.spray@redhat.com>
Fri, 1 Apr 2016 13:27:31 +0000 (14:27 +0100)
committerJohn Spray <john.spray@redhat.com>
Wed, 1 Jun 2016 21:13:32 +0000 (22:13 +0100)
os.path.join is sensitive to string encoding, but
just doing a straight substitution should not be.

Signed-off-by: John Spray <john.spray@redhat.com>
(cherry picked from commit e590f4d05fdb46747e83e35e66a26d9f4aa0314d)

src/pybind/ceph_volume_client.py

index d5748f126a25dcd657c969aee581076b5639f5c7..16d32476f502ea2c93636c779447ecc58103c836 100644 (file)
@@ -517,7 +517,10 @@ class CephFSVolumeClient(object):
             d = self.fs.readdir(dir_handle)
             while d:
                 if d.d_name not in [".", ".."]:
-                    d_full = os.path.join(root_path, d.d_name)
+                    # Do not use os.path.join because it is sensitive
+                    # to string encoding, we just pass through dnames
+                    # as byte arrays
+                    d_full = "{0}/{1}".format(root_path, d.d_name)
                     if d.is_dir():
                         rmtree(d_full)
                     else: