From 149bd848911fac59b257bd16f3342b1f90fd72c5 Mon Sep 17 00:00:00 2001 From: Yehuda Sadeh Date: Fri, 14 Jul 2017 09:37:38 -0700 Subject: [PATCH] objclass: add 'more' param to omap listing Signed-off-by: Yehuda Sadeh --- src/objclass/class_api.cc | 11 ++++++++--- src/objclass/objclass.h | 9 ++++++--- 2 files changed, 14 insertions(+), 6 deletions(-) diff --git a/src/objclass/class_api.cc b/src/objclass/class_api.cc index 724842c1cb1..cb8aa0677f8 100644 --- a/src/objclass/class_api.cc +++ b/src/objclass/class_api.cc @@ -405,7 +405,8 @@ int cls_cxx_snap_revert(cls_method_context_t hctx, snapid_t snapid) return (*pctx)->pg->do_osd_ops(*pctx, ops); } -int cls_cxx_map_get_all_vals(cls_method_context_t hctx, map* vals) +int cls_cxx_map_get_all_vals(cls_method_context_t hctx, map* vals, + bool *more) { PrimaryLogPG::OpContext **pctx = (PrimaryLogPG::OpContext **)hctx; vector ops(1); @@ -429,6 +430,7 @@ int cls_cxx_map_get_all_vals(cls_method_context_t hctx, map* bufferlist::iterator iter = op.outdata.begin(); try { ::decode(*vals, iter); + ::decode(*more, iter); } catch (buffer::error& err) { return -EIO; } @@ -436,7 +438,8 @@ int cls_cxx_map_get_all_vals(cls_method_context_t hctx, map* } int cls_cxx_map_get_keys(cls_method_context_t hctx, const string &start_obj, - uint64_t max_to_get, set *keys) + uint64_t max_to_get, set *keys, + bool *more) { PrimaryLogPG::OpContext **pctx = (PrimaryLogPG::OpContext **)hctx; vector ops(1); @@ -455,6 +458,7 @@ int cls_cxx_map_get_keys(cls_method_context_t hctx, const string &start_obj, bufferlist::iterator iter = op.outdata.begin(); try { ::decode(*keys, iter); + ::decode(*more, iter); } catch (buffer::error& err) { return -EIO; } @@ -463,7 +467,7 @@ int cls_cxx_map_get_keys(cls_method_context_t hctx, const string &start_obj, int cls_cxx_map_get_vals(cls_method_context_t hctx, const string &start_obj, const string &filter_prefix, uint64_t max_to_get, - map *vals) + map *vals, bool *more) { PrimaryLogPG::OpContext **pctx = (PrimaryLogPG::OpContext **)hctx; vector ops(1); @@ -483,6 +487,7 @@ int cls_cxx_map_get_vals(cls_method_context_t hctx, const string &start_obj, bufferlist::iterator iter = op.outdata.begin(); try { ::decode(*vals, iter); + ::decode(*more, iter); } catch (buffer::error& err) { return -EIO; } diff --git a/src/objclass/objclass.h b/src/objclass/objclass.h index 99be19beb34..cd41153dafc 100644 --- a/src/objclass/objclass.h +++ b/src/objclass/objclass.h @@ -130,16 +130,19 @@ extern int cls_cxx_replace(cls_method_context_t hctx, int ofs, int len, bufferli extern int cls_cxx_snap_revert(cls_method_context_t hctx, snapid_t snapid); extern int cls_cxx_map_clear(cls_method_context_t hctx); extern int cls_cxx_map_get_all_vals(cls_method_context_t hctx, - std::map *vals); + std::map *vals, + bool *more); extern int cls_cxx_map_get_keys(cls_method_context_t hctx, const string &start_after, uint64_t max_to_get, - std::set *keys); + std::set *keys, + bool *more); extern int cls_cxx_map_get_vals(cls_method_context_t hctx, const string &start_after, const string &filter_prefix, uint64_t max_to_get, - std::map *vals); + std::map *vals, + bool *more); extern int cls_cxx_map_read_header(cls_method_context_t hctx, bufferlist *outbl); extern int cls_cxx_map_set_vals(cls_method_context_t hctx, const std::map *map); -- 2.39.5