]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
librados: restored pre-infernalis API compatibility 6215/head
authorJason Dillaman <dillaman@redhat.com>
Fri, 9 Oct 2015 16:59:39 +0000 (12:59 -0400)
committerJason Dillaman <dillaman@redhat.com>
Fri, 9 Oct 2015 17:00:13 +0000 (13:00 -0400)
Fixes: #13429
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
src/include/rados/librados.hpp
src/librados/librados.cc
src/test/librados/misc.cc
src/test/osd/RadosModel.h
src/tools/rados/rados.cc

index 5260a23cdf71baa62f9fc00ce9b304c0876a9c0a..b92a94f173457c4ef3535ea6f291272f36746567 100644 (file)
@@ -422,7 +422,9 @@ namespace librados
      * @param src_fadvise_flags the fadvise flags for source object
      */
     void copy_from(const std::string& src, const IoCtx& src_ioctx,
-                  uint64_t src_version, uint32_t src_fadvise_flags);
+                  uint64_t src_version);
+    void copy_from2(const std::string& src, const IoCtx& src_ioctx,
+                    uint64_t src_version, uint32_t src_fadvise_flags);
 
     /**
      * undirty an object
@@ -775,10 +777,12 @@ namespace librados
 
 
     /// Start enumerating objects for a pool
-    NObjectIterator nobjects_begin(const bufferlist &filter=bufferlist());
+    NObjectIterator nobjects_begin();
+    NObjectIterator nobjects_begin(const bufferlist &filter);
     /// Start enumerating objects for a pool starting from a hash position
+    NObjectIterator nobjects_begin(uint32_t start_hash_position);
     NObjectIterator nobjects_begin(uint32_t start_hash_position,
-                                   const bufferlist &filter=bufferlist());
+                                   const bufferlist &filter);
     /// Iterator indicating the end of a pool
     const NObjectIterator& nobjects_end() const;
 
index 52445ad4dcb3c8ed4a180f9e70ddecac998ab13f..591438d934c4d5c5739f3c3286c3e7d2755119a9 100644 (file)
@@ -419,9 +419,16 @@ void librados::ObjectWriteOperation::omap_rm_keys(
 }
 
 void librados::ObjectWriteOperation::copy_from(const std::string& src,
-                                              const IoCtx& src_ioctx,
-                                              uint64_t src_version,
-                                              uint32_t src_fadvise_flags)
+                                               const IoCtx& src_ioctx,
+                                               uint64_t src_version)
+{
+  copy_from2(src, src_ioctx, src_version, 0);
+}
+
+void librados::ObjectWriteOperation::copy_from2(const std::string& src,
+                                               const IoCtx& src_ioctx,
+                                               uint64_t src_version,
+                                               uint32_t src_fadvise_flags)
 {
   ::ObjectOperation *o = (::ObjectOperation *)impl;
   o->copy_from(object_t(src), src_ioctx.io_ctx_impl->snap_seq,
@@ -1554,6 +1561,12 @@ int librados::IoCtx::list_lockers(const std::string &oid, const std::string &nam
   return tmp_lockers.size();
 }
 
+librados::NObjectIterator librados::IoCtx::nobjects_begin()
+{
+  bufferlist bl;
+  return nobjects_begin(bl);
+}
+
 librados::NObjectIterator librados::IoCtx::nobjects_begin(
     const bufferlist &filter)
 {
@@ -1567,6 +1580,12 @@ librados::NObjectIterator librados::IoCtx::nobjects_begin(
   return iter;
 }
 
+librados::NObjectIterator librados::IoCtx::nobjects_begin(uint32_t pos)
+{
+  bufferlist bl;
+  return nobjects_begin(pos, bl);
+}
+
 librados::NObjectIterator librados::IoCtx::nobjects_begin(
   uint32_t pos, const bufferlist &filter)
 {
index 0ca47a4a895511e822cbdc7efec9765459e7249b..4adaa6bf163f80bce8f62f012db4c44f25c9dc8c 100644 (file)
@@ -610,18 +610,18 @@ TEST_F(LibRadosMiscPP, CopyPP) {
   {
     // pass future version
     ObjectWriteOperation op;
-    op.copy_from("foo", ioctx, uv + 1, LIBRADOS_OP_FLAG_FADVISE_DONTNEED);
+    op.copy_from2("foo", ioctx, uv + 1, LIBRADOS_OP_FLAG_FADVISE_DONTNEED);
     ASSERT_EQ(-EOVERFLOW, ioctx.operate("foo.copy", &op));
   }
   {
     // pass old version
     ObjectWriteOperation op;
-    op.copy_from("foo", ioctx, uv - 1, LIBRADOS_OP_FLAG_FADVISE_DONTNEED);
+    op.copy_from2("foo", ioctx, uv - 1, LIBRADOS_OP_FLAG_FADVISE_DONTNEED);
     ASSERT_EQ(-ERANGE, ioctx.operate("foo.copy", &op));
   }
   {
     ObjectWriteOperation op;
-    op.copy_from("foo", ioctx, uv, LIBRADOS_OP_FLAG_FADVISE_DONTNEED);
+    op.copy_from2("foo", ioctx, uv, LIBRADOS_OP_FLAG_FADVISE_DONTNEED);
     ASSERT_EQ(0, ioctx.operate("foo.copy", &op));
 
     bufferlist bl2, x2;
@@ -634,7 +634,7 @@ TEST_F(LibRadosMiscPP, CopyPP) {
   // small object without a version
   {
     ObjectWriteOperation op;
-    op.copy_from("foo", ioctx, 0, LIBRADOS_OP_FLAG_FADVISE_DONTNEED);
+    op.copy_from2("foo", ioctx, 0, LIBRADOS_OP_FLAG_FADVISE_DONTNEED);
     ASSERT_EQ(0, ioctx.operate("foo.copy2", &op));
 
     bufferlist bl2, x2;
@@ -655,7 +655,7 @@ TEST_F(LibRadosMiscPP, CopyPP) {
 
   {
     ObjectWriteOperation op;
-    op.copy_from("big", ioctx, ioctx.get_last_version(), LIBRADOS_OP_FLAG_FADVISE_DONTNEED);
+    op.copy_from2("big", ioctx, ioctx.get_last_version(), LIBRADOS_OP_FLAG_FADVISE_DONTNEED);
     ASSERT_EQ(0, ioctx.operate("big.copy", &op));
 
     bufferlist bl2, x2;
@@ -667,7 +667,7 @@ TEST_F(LibRadosMiscPP, CopyPP) {
 
   {
     ObjectWriteOperation op;
-    op.copy_from("big", ioctx, 0, LIBRADOS_OP_FLAG_FADVISE_SEQUENTIAL);
+    op.copy_from2("big", ioctx, 0, LIBRADOS_OP_FLAG_FADVISE_SEQUENTIAL);
     ASSERT_EQ(0, ioctx.operate("big.copy2", &op));
 
     bufferlist bl2, x2;
@@ -726,7 +726,7 @@ TEST_F(LibRadosTwoPoolsECPP, CopyFrom) {
 
   version_t uv = src_ioctx.get_last_version();
   ObjectWriteOperation op;
-  op.copy_from("foo", src_ioctx, uv, 0);
+  op.copy_from("foo", src_ioctx, uv);
   ASSERT_EQ(-EOPNOTSUPP, ioctx.operate("foo.copy", &op));
 }
 
@@ -783,25 +783,25 @@ TEST_F(LibRadosMiscPP, CopyScrubPP) {
 
   {
     ObjectWriteOperation op;
-    op.copy_from("small", ioctx, 0, 0);
+    op.copy_from("small", ioctx, 0);
     ASSERT_EQ(0, ioctx.operate("small.copy", &op));
   }
 
   {
     ObjectWriteOperation op;
-    op.copy_from("big", ioctx, 0, 0);
+    op.copy_from("big", ioctx, 0);
     ASSERT_EQ(0, ioctx.operate("big.copy", &op));
   }
 
   {
     ObjectWriteOperation op;
-    op.copy_from("big2", ioctx, 0, 0);
+    op.copy_from("big2", ioctx, 0);
     ASSERT_EQ(0, ioctx.operate("big2.copy", &op));
   }
 
   {
     ObjectWriteOperation op;
-    op.copy_from("big3", ioctx, 0, 0);
+    op.copy_from("big3", ioctx, 0);
     ASSERT_EQ(0, ioctx.operate("big3.copy", &op));
   }
 
index dddaa9dec4aeb44788ad6c2f0e8c99d452339c73..81c825a7c204536bdf1c37b8720871c2aa6cb6b6 100644 (file)
@@ -1657,7 +1657,7 @@ public:
     }
 
     string src = context->prefix+oid_src;
-    op.copy_from(src.c_str(), context->io_ctx, src_value.version, 0);
+    op.copy_from(src.c_str(), context->io_ctx, src_value.version);
 
     pair<TestOp*, TestOp::CallbackInfo*> *cb_arg =
       new pair<TestOp*, TestOp::CallbackInfo*>(this,
index a1a31a647e62e7e51ada3905d67829e5322093af..4f4b0863f702967788d50d06503f99934b6c5718 100644 (file)
@@ -305,7 +305,7 @@ static int do_copy(IoCtx& io_ctx, const char *objname,
   __le32 src_fadvise_flags = LIBRADOS_OP_FLAG_FADVISE_SEQUENTIAL | LIBRADOS_OP_FLAG_FADVISE_NOCACHE;
   __le32 dest_fadvise_flags = LIBRADOS_OP_FLAG_FADVISE_SEQUENTIAL | LIBRADOS_OP_FLAG_FADVISE_DONTNEED;
   ObjectWriteOperation op;
-  op.copy_from(objname, io_ctx, 0, src_fadvise_flags);
+  op.copy_from2(objname, io_ctx, 0, src_fadvise_flags);
   op.set_op_flags2(dest_fadvise_flags);
 
   return target_ctx.operate(target_obj, &op);