From 65a6975014395ce7442dc17f512edb6451c869cc Mon Sep 17 00:00:00 2001 From: David Zafman Date: Tue, 2 Apr 2013 20:59:17 -0700 Subject: [PATCH] librados: set SNAP_DIR on listsnaps command Signed-off-by: David Zafman --- src/librados/librados.cc | 2 ++ src/rados.cc | 1 + 2 files changed, 3 insertions(+) diff --git a/src/librados/librados.cc b/src/librados/librados.cc index be98341ef36..c8a25a76a7e 100644 --- a/src/librados/librados.cc +++ b/src/librados/librados.cc @@ -1092,6 +1092,8 @@ int librados::IoCtx::list_snaps(const std::string& oid, { ObjectReadOperation op; int r; + if (io_ctx_impl->snap_seq != CEPH_SNAPDIR) + return -EINVAL; op.list_snaps(out_snaps, &r); bufferlist bl; int ret = operate(oid, &op, &bl); diff --git a/src/rados.cc b/src/rados.cc index 4f02563ae10..9af6a2c823a 100644 --- a/src/rados.cc +++ b/src/rados.cc @@ -2026,6 +2026,7 @@ static int rados_tool_common(const std::map < std::string, std::string > &opts, string oid(nargs[1]); snap_set_t ls; + io_ctx.snap_set_read(LIBRADOS_SNAP_DIR); ret = io_ctx.list_snaps(oid, &ls); if (ret < 0) { cerr << "error listing snap shots " << pool_name << "/" << oid << ": " << strerror_r(-ret, buf, sizeof(buf)) << std::endl; -- 2.47.3