[PATCH] Python Ioctx.get_xattrs does not take xattr_name

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Fixes bug 5528

Since it returns all xattrs, it does not take an xattr_name. Also,
add unit tests for the Object xattrs methods.

Signed-off-by: Johannes Erdfelt <johannes@xxxxxxxxxxx>
---
 src/pybind/rados.py           |  4 ++--
 src/test/pybind/test_rados.py | 12 ++++++++++++
 2 files changed, 14 insertions(+), 2 deletions(-)

diff --git a/src/pybind/rados.py b/src/pybind/rados.py
index 13badc9..0ba8184 100644
--- a/src/pybind/rados.py
+++ b/src/pybind/rados.py
@@ -1566,9 +1566,9 @@ class Object(object):
         return self.ioctx.get_xattr(self.key, xattr_name)
 
     @set_object_locator
-    def get_xattrs(self, xattr_name):
+    def get_xattrs(self):
         self.require_object_exists()
-        return self.ioctx.get_xattrs(self.key, xattr_name)
+        return self.ioctx.get_xattrs(self.key)
 
     @set_object_locator
     def set_xattr(self, xattr_name, xattr_value):
diff --git a/src/test/pybind/test_rados.py b/src/test/pybind/test_rados.py
index f182524..01b6a21 100644
--- a/src/test/pybind/test_rados.py
+++ b/src/test/pybind/test_rados.py
@@ -117,6 +117,18 @@ class TestIoctx(object):
             stored_xattrs[key] = value
         eq(stored_xattrs, xattrs)
 
+    def test_obj_xattrs(self):
+        xattrs = dict(a='1', b='2', c='3', d='a\0b', e='\0')
+        self.ioctx.write('abc', '')
+        obj = list(self.ioctx.list_objects())[0]
+        for key, value in xattrs.iteritems():
+            obj.set_xattr(key, value)
+            eq(obj.get_xattr(key), value)
+        stored_xattrs = {}
+        for key, value in obj.get_xattrs():
+            stored_xattrs[key] = value
+        eq(stored_xattrs, xattrs)
+
     def test_create_snap(self):
         assert_raises(ObjectNotFound, self.ioctx.remove_snap, 'foo')
         self.ioctx.create_snap('foo')
-- 
1.8.3.1

--
To unsubscribe from this list: send the line "unsubscribe ceph-devel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [CEPH Users]     [Ceph Large]     [Information on CEPH]     [Linux BTRFS]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]
  Powered by Linux