]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
librados: add higher level call for omap_get_keys() with prefix
authorYehuda Sadeh <yehuda@hq.newdream.net>
Thu, 8 Mar 2012 01:02:57 +0000 (17:02 -0800)
committerYehuda Sadeh <yehuda@hq.newdream.net>
Thu, 8 Mar 2012 01:02:57 +0000 (17:02 -0800)
Signed-off-by: Yehuda Sadeh <yehuda@hq.newdream.net>
src/include/rados/librados.hpp
src/librados.cc

index 63c49b0f85abbf298e1f8b2d81f7547d864d87bb..a6ed439037a32e5d69c7d4f5f774e5dbbe263d91 100644 (file)
@@ -356,6 +356,11 @@ namespace librados
                       const std::string& start_after,
                       uint64_t max_return,
                       std::map<std::string, bufferlist> *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<std::string, bufferlist> *out_vals);
     int omap_get_keys(const std::string& oid,
                       const std::string& start_after,
                       uint64_t max_return,
index 577e3354cb112fdb152304cbfba13f2010628d52..1cff38eec740cc7814ceebd4179cc32702eb2779 100644 (file)
@@ -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<std::string, bufferlist> *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,