* @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);
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);
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)
{
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)));
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)));
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)));
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)));