diff options
author | Yehuda Sadeh <yehuda@hq.newdream.net> | 2012-03-07 22:18:57 -0800 |
---|---|---|
committer | Yehuda Sadeh <yehuda@hq.newdream.net> | 2012-03-07 22:18:57 -0800 |
commit | 765962dc8cb0d37abfa48b4e0592d533318d2828 (patch) | |
tree | 2eeaf9bb6a38cfc6f390da3d1a923f618757d73a /src/objclass | |
parent | e0744390f60527abda013b36b6c2f36139120c1a (diff) | |
download | ceph-765962dc8cb0d37abfa48b4e0592d533318d2828.tar.gz |
rgw: add cls_cxx_map_clear
Signed-off-by: Yehuda Sadeh <yehuda@hq.newdream.net>
Diffstat (limited to 'src/objclass')
-rw-r--r-- | src/objclass/class_api.cc | 11 | ||||
-rw-r--r-- | src/objclass/objclass.h | 1 |
2 files changed, 12 insertions, 0 deletions
diff --git a/src/objclass/class_api.cc b/src/objclass/class_api.cc index 861c0006207..59ddfd7d959 100644 --- a/src/objclass/class_api.cc +++ b/src/objclass/class_api.cc @@ -366,6 +366,17 @@ int cls_cxx_map_write_key(cls_method_context_t hctx, string key, bufferlist *inb return (*pctx)->pg->do_osd_ops(*pctx, ops); } +int cls_cxx_map_clear(cls_method_context_t hctx) +{ + ReplicatedPG::OpContext **pctx = (ReplicatedPG::OpContext **)hctx; + vector<OSDOp> ops(1); + OSDOp& op = ops[0]; + + op.op.op = CEPH_OSD_OP_OMAPCLEAR; + + return (*pctx)->pg->do_osd_ops(*pctx, ops); +} + int cls_cxx_map_write_header(cls_method_context_t hctx, bufferlist *inbl) { ReplicatedPG::OpContext **pctx = (ReplicatedPG::OpContext **)hctx; diff --git a/src/objclass/objclass.h b/src/objclass/objclass.h index 6ccfc6282eb..b0ec28bd6ef 100644 --- a/src/objclass/objclass.h +++ b/src/objclass/objclass.h @@ -93,6 +93,7 @@ extern int cls_cxx_write(cls_method_context_t hctx, int ofs, int len, bufferlist extern int cls_cxx_write_full(cls_method_context_t hctx, bufferlist *bl); extern int cls_cxx_replace(cls_method_context_t hctx, int ofs, int len, bufferlist *bl); 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_read_all_keys(cls_method_context_t hctx, std::map<string, bufferlist> *keys); extern int cls_cxx_map_read_keys(cls_method_context_t hctx, string& start_after, string& filter_prefix, uint64_t max, std::map<string, bufferlist> *keys); |