]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
pybind/rados: fix missed changes for PEP484 style type annotations 54361/head
authorIgor Fedotov <igor.fedotov@croit.io>
Fri, 16 Dec 2022 16:33:07 +0000 (19:33 +0300)
committerIgor Fedotov <igor.fedotov@croit.io>
Mon, 6 Nov 2023 12:38:20 +0000 (15:38 +0300)
originally brought by https://github.com/ceph/ceph/pull/36918

Fixes: https://tracker.ceph.com/issues/58304
Signed-off-by: Igor Fedotov <igor.fedotov@croit.io>
(cherry picked from commit 1c64c6be303f5ed4110468101a01576508468a74)

src/pybind/rados/rados.pyx
src/test/pybind/test_rados.py

index 06c4a3547303f5461790400a86b4a9437f15c396..b35350e90e90b397fb88374486271c6024f5a7ad 100644 (file)
@@ -1057,10 +1057,10 @@ Rados object in state %s." % self.state)
         # NOTE(sileht): looks weird but test_monmap_dump pass int
             target = str(target)
 
-        target = cstr(target, 'target', opt=True)
+        target_raw = cstr(target, 'target', opt=True)
 
         cdef:
-            char *_target = opt_str(target)
+            char *_target = opt_str(target_raw)
             char **_cmd = to_bytes_array(cmds)
             size_t _cmdlen = len(cmds)
 
@@ -1073,7 +1073,7 @@ Rados object in state %s." % self.state)
             size_t _outs_len
 
         try:
-            if target:
+            if target_raw:
                 with nogil:
                     ret = rados_mon_command_target(self.cluster, _target,
                                                 <const char **>_cmd, _cmdlen,
@@ -1158,10 +1158,10 @@ Rados object in state %s." % self.state)
         self.require_state("connected")
 
         cmds = [cstr(cmd, 'cmd')]
-        target = cstr(target, 'target', opt=True)
+        target_raw = cstr(target, 'target', opt=True)
 
         cdef:
-            char *_target = opt_str(target)
+            char *_target = opt_str(target_raw)
 
             char **_cmd = to_bytes_array(cmds)
             size_t _cmdlen = len(cmds)
@@ -1175,7 +1175,7 @@ Rados object in state %s." % self.state)
             size_t _outs_len
 
         try:
-            if target is not None:
+            if target_raw is not None:
                 with nogil:
                     ret = rados_mgr_command_target(self.cluster,
                                            <const char*>_target,
@@ -3783,9 +3783,9 @@ returned %d, but should return zero on success." % (self.name, ret))
         :para max_return: list no more than max_return key/value pairs
         :returns: an iterator over the requested omap values, return value from this action
         """
-        start_after = cstr(start_after, 'start_after') if start_after else None
+        start_after_raw = cstr(start_after, 'start_after') if start_after else None
         cdef:
-            char *_start_after = opt_str(start_after)
+            char *_start_after = opt_str(start_after_raw)
             ReadOp _read_op = read_op
             rados_omap_iter_t iter_addr = NULL
             int _max_return = max_return
index ff6fee3db29633d1059cb0931d72a4f0ac9d5287..195f6444957ae579aef4f73aca1aac609d797a9f 100644 (file)
@@ -563,6 +563,11 @@ class TestIoctx(object):
             eq(ret, 0)
             with assert_raises(ObjectNotFound):
                 self.ioctx.operate_read_op(read_op, "no_such")
+        with ReadOpCtx() as read_op:
+            iter, ret = self.ioctx.get_omap_keys(read_op,"2",2)
+            eq(ret, 0)
+            self.ioctx.operate_read_op(read_op, "hw")
+            eq(list(iter), [("3", None)])
 
     def test_clear_omap(self):
         keys = ("1", "2", "3")