]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
pybind/rbd: decode stat() and list_children() results for py3
authorJosh Durgin <jdurgin@redhat.com>
Thu, 12 Nov 2015 07:56:14 +0000 (23:56 -0800)
committerJosh Durgin <jdurgin@redhat.com>
Fri, 13 Nov 2015 03:35:34 +0000 (19:35 -0800)
For stat(), only block_name_prefix is filled in - parent and
parent_pool are always blank.

Signed-off-by: Josh Durgin <jdurgin@redhat.com>
src/pybind/rbd.py

index 9f2f47f8c07b12bcb390c0c79f7b8c830e6781dc..5c681e9213f517ef80c10e7a96acdd022e41cf5e 100644 (file)
@@ -581,7 +581,7 @@ class Image(object):
             'obj_size'          : info.obj_size,
             'num_objs'          : info.num_objs,
             'order'             : info.order,
-            'block_name_prefix' : info.block_name_prefix,
+            'block_name_prefix' : decode_cstr(info.block_name_prefix),
             'parent_pool'       : info.parent_pool,
             'parent_name'       : info.parent_name
             }
@@ -1101,8 +1101,8 @@ written." % (self.name, ret, length))
                 raise make_ex(ret, 'error listing images')
         if ret == 0:
             return []
-        pools = c_pools.raw[:pools_size.value - 1].split('\0')
-        images = c_images.raw[:images_size.value - 1].split('\0')
+        pools = map(decode_cstr, c_pools.raw[:pools_size.value - 1].split(b'\0'))
+        images = map(decode_cstr, c_images.raw[:images_size.value - 1].split(b'\0'))
         return list(zip(pools, images))
 
     def list_lockers(self):