From: Yehuda Sadeh Date: Thu, 8 Mar 2012 01:02:57 +0000 (-0800) Subject: librados: add higher level call for omap_get_keys() with prefix X-Git-Tag: v0.44~45^2^2~5 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=a6b524f6020c8ea01ddd0f4eac907bfdbae8dd3e;p=ceph.git librados: add higher level call for omap_get_keys() with prefix Signed-off-by: Yehuda Sadeh --- diff --git a/src/include/rados/librados.hpp b/src/include/rados/librados.hpp index 63c49b0f85ab..a6ed439037a3 100644 --- a/src/include/rados/librados.hpp +++ b/src/include/rados/librados.hpp @@ -356,6 +356,11 @@ namespace librados const std::string& start_after, uint64_t max_return, std::map *out_vals); + int omap_get_vals(const std::string& oid, + const std::string& start_after, + const std::string& filter_prefix, + uint64_t max_return, + std::map *out_vals); int omap_get_keys(const std::string& oid, const std::string& start_after, uint64_t max_return, diff --git a/src/librados.cc b/src/librados.cc index 577e3354cb11..1cff38eec740 100644 --- a/src/librados.cc +++ b/src/librados.cc @@ -3043,6 +3043,23 @@ int librados::IoCtx::omap_get_vals(const std::string& oid, return r; } +int librados::IoCtx::omap_get_vals(const std::string& oid, + const std::string& start_after, + const std::string& filter_prefix, + uint64_t max_return, + std::map *out_vals) +{ + ObjectReadOperation op; + int r; + op.omap_get_vals(start_after, filter_prefix, max_return, out_vals, &r); + bufferlist bl; + int ret = operate(oid, &op, &bl); + if (ret < 0) + return ret; + + return r; +} + int librados::IoCtx::omap_get_keys(const std::string& oid, const std::string& start_after, uint64_t max_return,