From: David Zafman Date: Fri, 11 Apr 2014 00:16:33 +0000 (-0700) Subject: librados: Add ObjectWriteOperation::snap_rollback() for pool snapshots X-Git-Tag: v0.80-rc1~42^2~2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=b6b0c3bd0cd71f9003ceb44e5770b300af66caaf;p=ceph.git librados: Add ObjectWriteOperation::snap_rollback() for pool snapshots snap_rollback() is the same as selfmanaged_snap_rollback() but we want an independent interface for pool snapshots. Should really take snapname for consistency with other pool snapshot interfaces. Signed-off-by: David Zafman --- diff --git a/src/include/rados/librados.hpp b/src/include/rados/librados.hpp index f0d69cf0c1cc..e7aeb4f2e1a6 100644 --- a/src/include/rados/librados.hpp +++ b/src/include/rados/librados.hpp @@ -266,6 +266,15 @@ namespace librados size_t len); void selfmanaged_snap_rollback(uint64_t snapid); + /** + * Rollback an object to the specified snapshot id + * + * Used with pool snapshots + * + * @param snapid [in] snopshot id specified + */ + void snap_rollback(uint64_t snapid); + /** * set keys and values according to map * diff --git a/src/librados/librados.cc b/src/librados/librados.cc index 793b4906b823..2358fb406e8c 100644 --- a/src/librados/librados.cc +++ b/src/librados/librados.cc @@ -453,6 +453,13 @@ void librados::ObjectWriteOperation::selfmanaged_snap_rollback(snap_t snapid) o->rollback(snapid); } +// You must specify the snapid not the name normally used with pool snapshots +void librados::ObjectWriteOperation::snap_rollback(snap_t snapid) +{ + ::ObjectOperation *o = (::ObjectOperation *)impl; + o->rollback(snapid); +} + void librados::ObjectWriteOperation::set_alloc_hint( uint64_t expected_object_size, uint64_t expected_write_size)