store->getRados()->obj_to_raw((bucket->get_info()).placement_rule, get_obj(), raw_obj);
}
-int RadosObject::omap_get_vals(const DoutPrefixProvider *dpp, const std::string& marker, uint64_t count,
- std::map<std::string, bufferlist> *m,
- bool* pmore, optional_yield y)
-{
- rgw_raw_obj raw_obj;
- get_raw_obj(&raw_obj);
- auto sysobj = store->svc()->sysobj->get_obj(raw_obj);
-
- return sysobj.omap().get_vals(dpp, marker, count, m, pmore, y);
-}
-
-int RadosObject::omap_get_all(const DoutPrefixProvider *dpp, std::map<std::string, bufferlist> *m,
- optional_yield y)
-{
- rgw_raw_obj raw_obj;
- get_raw_obj(&raw_obj);
- auto sysobj = store->svc()->sysobj->get_obj(raw_obj);
-
- return sysobj.omap().get_all(dpp, m, y);
-}
-
int RadosObject::omap_get_vals_by_keys(const DoutPrefixProvider *dpp, const std::string& oid,
const std::set<std::string>& keys,
Attrs* vals)
map<string, bufferlist> parts_map;
map<string, bufferlist>::iterator iter;
- std::unique_ptr<rgw::sal::Object> obj = bucket->get_object(
- rgw_obj_key(get_meta(), std::string(), RGW_OBJ_NS_MULTIPART));
- obj->set_in_extra_data(true);
+ rgw_obj_key key(get_meta(), std::string(), RGW_OBJ_NS_MULTIPART);
+ rgw_obj obj(bucket->get_key(), key);
+ obj.in_extra_data = true;
+
+ rgw_raw_obj raw_obj;
+ store->getRados()->obj_to_raw(bucket->get_placement_rule(), obj, &raw_obj);
+ auto sysobj = store->svc()->sysobj->get_obj(raw_obj);
bool sorted_omap = is_v2_upload_id(get_upload_id()) && !assume_unsorted;
snprintf(buf, sizeof(buf), "%08d", marker);
p.append(buf);
- ret = obj->omap_get_vals(dpp, p, num_parts + 1, &parts_map,
+ ret = sysobj.omap().get_vals(dpp, p, num_parts + 1, &parts_map,
nullptr, null_yield);
} else {
- ret = obj->omap_get_all(dpp, &parts_map, null_yield);
+ ret = sysobj.omap().get_all(dpp, &parts_map, null_yield);
}
if (ret < 0) {
return ret;
virtual std::unique_ptr<DeleteOp> get_delete_op() override;
/* OMAP */
- virtual int omap_get_vals(const DoutPrefixProvider *dpp, const std::string& marker, uint64_t count,
- std::map<std::string, bufferlist> *m,
- bool* pmore, optional_yield y) override;
- virtual int omap_get_all(const DoutPrefixProvider *dpp, std::map<std::string, bufferlist> *m,
- optional_yield y) override;
virtual int omap_get_vals_by_keys(const DoutPrefixProvider *dpp, const std::string& oid,
const std::set<std::string>& keys,
Attrs* vals) override;
/** Get a new DeleteOp for this object */
virtual std::unique_ptr<DeleteOp> get_delete_op() = 0;
- /** Get @a count OMAP values via listing, starting at @a marker for this object */
- virtual int omap_get_vals(const DoutPrefixProvider *dpp, const std::string& marker, uint64_t count,
- std::map<std::string, bufferlist>* m,
- bool* pmore, optional_yield y) = 0;
- /** Get all OMAP key/value pairs for this object */
- virtual int omap_get_all(const DoutPrefixProvider *dpp, std::map<std::string, bufferlist>* m,
- optional_yield y) = 0;
+ // TODO: remove omap APIs. rgw_torrent.cc shouldn't use omap
/** Get the OMAP values matching the given set of keys */
virtual int omap_get_vals_by_keys(const DoutPrefixProvider *dpp, const std::string& oid,
const std::set<std::string>& keys,
state.obj.key.set_instance(buf);
}
-int DaosObject::omap_get_vals(const DoutPrefixProvider* dpp,
- const std::string& marker, uint64_t count,
- std::map<std::string, bufferlist>* m, bool* pmore,
- optional_yield y) {
- return DAOS_NOT_IMPLEMENTED_LOG(dpp);
-}
-
-int DaosObject::omap_get_all(const DoutPrefixProvider* dpp,
- std::map<std::string, bufferlist>* m,
- optional_yield y) {
- return DAOS_NOT_IMPLEMENTED_LOG(dpp);
-}
-
int DaosObject::omap_get_vals_by_keys(const DoutPrefixProvider* dpp,
const std::string& oid,
const std::set<std::string>& keys,
virtual std::unique_ptr<DeleteOp> get_delete_op() override;
/* OMAP */
- virtual int omap_get_vals(const DoutPrefixProvider* dpp,
- const std::string& marker, uint64_t count,
- std::map<std::string, bufferlist>* m, bool* pmore,
- optional_yield y) override;
- virtual int omap_get_all(const DoutPrefixProvider* dpp,
- std::map<std::string, bufferlist>* m,
- optional_yield y) override;
virtual int omap_get_vals_by_keys(const DoutPrefixProvider* dpp,
const std::string& oid,
const std::set<std::string>& keys,
}
- int DBObject::omap_get_vals(const DoutPrefixProvider *dpp, const std::string& marker, uint64_t count,
- std::map<std::string, bufferlist> *m,
- bool* pmore, optional_yield y)
- {
- DB::Object op_target(store->getDB(),
- get_bucket()->get_info(), get_obj());
- return op_target.obj_omap_get_vals(dpp, marker, count, m, pmore);
- }
-
- int DBObject::omap_get_all(const DoutPrefixProvider *dpp, std::map<std::string, bufferlist> *m,
- optional_yield y)
- {
- DB::Object op_target(store->getDB(),
- get_bucket()->get_info(), get_obj());
- return op_target.obj_omap_get_all(dpp, m);
- }
-
int DBObject::omap_get_vals_by_keys(const DoutPrefixProvider *dpp, const std::string& oid,
const std::set<std::string>& keys,
Attrs* vals)
virtual std::unique_ptr<DeleteOp> get_delete_op() override;
/* OMAP */
- virtual int omap_get_vals(const DoutPrefixProvider *dpp, const std::string& marker, uint64_t count,
- std::map<std::string, bufferlist> *m,
- bool* pmore, optional_yield y) override;
- virtual int omap_get_all(const DoutPrefixProvider *dpp, std::map<std::string, bufferlist> *m,
- optional_yield y) override;
virtual int omap_get_vals_by_keys(const DoutPrefixProvider *dpp, const std::string& oid,
const std::set<std::string>& keys,
Attrs* vals) override;
return std::make_unique<FilterDeleteOp>(std::move(d));
}
-int FilterObject::omap_get_vals(const DoutPrefixProvider *dpp, const std::string& marker,
- uint64_t count, std::map<std::string, bufferlist> *m,
- bool* pmore, optional_yield y)
-{
- return next->omap_get_vals(dpp, marker, count, m, pmore, y);
-}
-
-int FilterObject::omap_get_all(const DoutPrefixProvider *dpp,
- std::map<std::string, bufferlist> *m,
- optional_yield y)
-{
- return next->omap_get_all(dpp, m, y);
-}
-
int FilterObject::omap_get_vals_by_keys(const DoutPrefixProvider *dpp,
const std::string& oid,
const std::set<std::string>& keys,
virtual std::unique_ptr<ReadOp> get_read_op() override;
virtual std::unique_ptr<DeleteOp> get_delete_op() override;
- virtual int omap_get_vals(const DoutPrefixProvider *dpp, const std::string& marker,
- uint64_t count, std::map<std::string, bufferlist>* m,
- bool* pmore, optional_yield y) override;
- virtual int omap_get_all(const DoutPrefixProvider *dpp,
- std::map<std::string, bufferlist>* m,
- optional_yield y) override;
virtual int omap_get_vals_by_keys(const DoutPrefixProvider *dpp,
const std::string& oid,
const std::set<std::string>& keys,
state.obj.key.set_instance(buf);
}
-int MotrObject::omap_get_vals(const DoutPrefixProvider *dpp, const std::string& marker, uint64_t count,
- std::map<std::string, bufferlist> *m,
- bool* pmore, optional_yield y)
-{
- return 0;
-}
-
-int MotrObject::omap_get_all(const DoutPrefixProvider *dpp, std::map<std::string, bufferlist> *m,
- optional_yield y)
-{
- return 0;
-}
-
int MotrObject::omap_get_vals_by_keys(const DoutPrefixProvider *dpp, const std::string& oid,
const std::set<std::string>& keys,
Attrs* vals)
virtual std::unique_ptr<DeleteOp> get_delete_op() override;
/* OMAP */
- virtual int omap_get_vals(const DoutPrefixProvider *dpp, const std::string& marker, uint64_t count,
- std::map<std::string, bufferlist> *m,
- bool* pmore, optional_yield y) override;
- virtual int omap_get_all(const DoutPrefixProvider *dpp, std::map<std::string, bufferlist> *m,
- optional_yield y) override;
virtual int omap_get_vals_by_keys(const DoutPrefixProvider *dpp, const std::string& oid,
const std::set<std::string>& keys,
Attrs* vals) override;