]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
librados: Rollback interface additions
authorDavid Zafman <david.zafman@inktank.com>
Fri, 11 Apr 2014 23:20:14 +0000 (16:20 -0700)
committerDavid Zafman <david.zafman@inktank.com>
Fri, 11 Apr 2014 23:22:27 +0000 (16:22 -0700)
Add C interface rados_ioctx_snap_rollback() and indicate that rados_rollback()
is deprecated.

Add C++ interface IoCtx::snap_rollback() and indicate that IoCtx::rollback()
is deprecated.

Modify snapshot test case to use new function names.

Signed-off-by: David Zafman <david.zafman@inktank.com>
src/include/rados/librados.h
src/include/rados/librados.hpp
src/librados/librados.cc
src/test/librados/snapshots.cc

index 80d2574360cc35e7545094ace5e295d601be1eb5..3e6829273ca63edcaaee5bba6dd110721bdc7487 100644 (file)
@@ -915,6 +915,20 @@ int rados_ioctx_snap_remove(rados_ioctx_t io, const char *snapname);
  * @param snapname which snapshot to rollback to
  * @returns 0 on success, negative error code on failure
  */
+int rados_ioctx_snap_rollback(rados_ioctx_t io, const char *oid,
+                  const char *snapname);
+
+/**
+ * Rollback an object to a pool snapshot *DEPRECATED*
+ *
+ * Deprecated interface which is not rados_ioctx_snap_rollback()
+ * This function could go away in the future
+ *
+ * @param io the pool in which the object is stored
+ * @param oid the name of the object to rollback
+ * @param snapname which snapshot to rollback to
+ * @returns 0 on success, negative error code on failure
+ */
 int rados_rollback(rados_ioctx_t io, const char *oid,
                   const char *snapname);
 
index dde6273694921f5d926d41545288b408b28aa94e..f0d69cf0c1cc09d1fd16f7243ade7870e1d5afa6 100644 (file)
@@ -614,6 +614,8 @@ namespace librados
 
     int snap_list(std::vector<snap_t> *snaps);
 
+    int snap_rollback(const std::string& oid, const char *snapname);
+    // Deprecated name kept for backward compatibility - same as snap_rollback()
     int rollback(const std::string& oid, const char *snapname);
 
     int selfmanaged_snap_create(uint64_t *snapid);
index 994123bf1ccb1e808e4c80e379d29cec690fe6c5..793b4906b823798c5825dc72bb3d64f5937d37ad 100644 (file)
@@ -1144,11 +1144,17 @@ int librados::IoCtx::snap_list(std::vector<snap_t> *snaps)
   return io_ctx_impl->snap_list(snaps);
 }
 
-int librados::IoCtx::rollback(const std::string& oid, const char *snapname)
+int librados::IoCtx::snap_rollback(const std::string& oid, const char *snapname)
 {
   return io_ctx_impl->rollback(oid, snapname);
 }
 
+// Deprecated name kept for backward compatibility
+int librados::IoCtx::rollback(const std::string& oid, const char *snapname)
+{
+  return snap_rollback(oid, snapname);
+}
+
 int librados::IoCtx::selfmanaged_snap_create(uint64_t *snapid)
 {
   return io_ctx_impl->selfmanaged_snap_create(snapid);
@@ -2492,13 +2498,20 @@ extern "C" int rados_ioctx_snap_remove(rados_ioctx_t io, const char *snapname)
   return ctx->snap_remove(snapname);
 }
 
-extern "C" int rados_rollback(rados_ioctx_t io, const char *oid,
+extern "C" int rados_ioctx_snap_rollback(rados_ioctx_t io, const char *oid,
                              const char *snapname)
 {
   librados::IoCtxImpl *ctx = (librados::IoCtxImpl *)io;
   return ctx->rollback(oid, snapname);
 }
 
+// Deprecated name kept for backward compatibility
+extern "C" int rados_rollback(rados_ioctx_t io, const char *oid,
+                             const char *snapname)
+{
+  return rados_ioctx_snap_rollback(io, oid, snapname);
+}
+
 extern "C" int rados_ioctx_selfmanaged_snap_create(rados_ioctx_t io,
                                             uint64_t *snapid)
 {
index e490a088379b68a6a1b3fc5e1c548f30a01636fc..98eb73a583b9013b84024f49555e8d31ee4b68a2 100644 (file)
@@ -84,7 +84,7 @@ TEST_F(LibRadosSnapshots, Rollback) {
   char buf2[sizeof(buf)];
   memset(buf2, 0xdd, sizeof(buf2));
   EXPECT_EQ(0, rados_write_full(ioctx, "foo", buf2, sizeof(buf2)));
-  EXPECT_EQ(0, rados_rollback(ioctx, "foo", "snap1"));
+  EXPECT_EQ(0, rados_ioctx_snap_rollback(ioctx, "foo", "snap1"));
   char buf3[sizeof(buf)];
   EXPECT_EQ((int)sizeof(buf3), rados_read(ioctx, "foo", buf3, sizeof(buf3), 0));
   EXPECT_EQ(0, memcmp(buf, buf3, sizeof(buf)));
@@ -103,7 +103,7 @@ TEST_F(LibRadosSnapshotsPP, RollbackPP) {
   bufferlist bl2;
   bl2.append(buf2, sizeof(buf2));
   EXPECT_EQ(0, ioctx.write_full("foo", bl2));
-  EXPECT_EQ(0, ioctx.rollback("foo", "snap1"));
+  EXPECT_EQ(0, ioctx.snap_rollback("foo", "snap1"));
   bufferlist bl3;
   EXPECT_EQ((int)sizeof(buf), ioctx.read("foo", bl3, sizeof(buf), 0));
   EXPECT_EQ(0, memcmp(buf, bl3.c_str(), sizeof(buf)));
@@ -529,7 +529,7 @@ TEST_F(LibRadosSnapshotsEC, Rollback) {
   char buf2[sizeof(buf)];
   memset(buf2, 0xdd, sizeof(buf2));
   EXPECT_EQ(0, rados_write_full(ioctx, "foo", buf2, sizeof(buf2)));
-  EXPECT_EQ(0, rados_rollback(ioctx, "foo", "snap1"));
+  EXPECT_EQ(0, rados_ioctx_snap_rollback(ioctx, "foo", "snap1"));
   char buf3[sizeof(buf)];
   EXPECT_EQ((int)sizeof(buf3), rados_read(ioctx, "foo", buf3, sizeof(buf3), 0));
   EXPECT_EQ(0, memcmp(buf, buf3, sizeof(buf)));
@@ -548,7 +548,7 @@ TEST_F(LibRadosSnapshotsECPP, RollbackPP) {
   bufferlist bl2;
   bl2.append(buf2, sizeof(buf2));
   EXPECT_EQ(0, ioctx.write_full("foo", bl2));
-  EXPECT_EQ(0, ioctx.rollback("foo", "snap1"));
+  EXPECT_EQ(0, ioctx.snap_rollback("foo", "snap1"));
   bufferlist bl3;
   EXPECT_EQ((int)sizeof(buf), ioctx.read("foo", bl3, sizeof(buf), 0));
   EXPECT_EQ(0, memcmp(buf, bl3.c_str(), sizeof(buf)));