From: Radoslaw Zarzynski Date: Thu, 25 Jul 2019 17:06:50 +0000 (+0200) Subject: crimson/osd: mock OSD-specific parts of the objclass API. X-Git-Tag: v15.1.0~1774^2~25 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=5a8acb686825b874ace758ceef622dfc913f185b;p=ceph.git crimson/osd: mock OSD-specific parts of the objclass API. Signed-off-by: Radoslaw Zarzynski --- diff --git a/src/crimson/osd/CMakeLists.txt b/src/crimson/osd/CMakeLists.txt index 8ee99bbfbfcc..3a96d084638e 100644 --- a/src/crimson/osd/CMakeLists.txt +++ b/src/crimson/osd/CMakeLists.txt @@ -18,6 +18,8 @@ add_executable(crimson-osd osd_operations/replicated_request.cc osdmap_gate.cc pg_map.cc + objclass.cc + ${PROJECT_SOURCE_DIR}/src/objclass/class_api.cc ${PROJECT_SOURCE_DIR}/src/osd/ClassHandler.cc ${PROJECT_SOURCE_DIR}/src/osd/PeeringState.cc ${PROJECT_SOURCE_DIR}/src/osd/PGPeeringEvent.cc diff --git a/src/crimson/osd/objclass.cc b/src/crimson/osd/objclass.cc new file mode 100644 index 000000000000..024c0999b068 --- /dev/null +++ b/src/crimson/osd/objclass.cc @@ -0,0 +1,274 @@ +// -*- mode:C++; tab-width:8; c-basic-offset:2; indent-tabs-mode:t -*- +// vim: ts=8 sw=2 smarttab + +#include +#include "common/ceph_context.h" +#include "common/ceph_releases.h" +#include "common/config.h" +#include "common/debug.h" + +#include "objclass/objclass.h" +#include "osd/ClassHandler.h" + +#include "auth/Crypto.h" +#include "common/armor.h" + +int cls_call(cls_method_context_t hctx, const char *cls, const char *method, + char *indata, int datalen, + char **outdata, int *outdatalen) +{ +// FIXME, HACK: this is for testing only. Let's use dynamic linker to verify +// our depedencies + return 0; +} + +int cls_getxattr(cls_method_context_t hctx, + const char *name, + char **outdata, + int *outdatalen) +{ + return 0; +} + +int cls_setxattr(cls_method_context_t hctx, + const char *name, + const char *value, + int val_len) +{ + return 0; +} + +int cls_read(cls_method_context_t hctx, + int ofs, int len, + char **outdata, + int *outdatalen) +{ + return 0; +} + +int cls_get_request_origin(cls_method_context_t hctx, entity_inst_t *origin) +{ + return 0; +} + +int cls_cxx_create(cls_method_context_t hctx, bool exclusive) +{ + return 0; +} + +int cls_cxx_remove(cls_method_context_t hctx) +{ + return 0; +} + +int cls_cxx_stat(cls_method_context_t hctx, uint64_t *size, time_t *mtime) +{ + return 0; +} + +int cls_cxx_stat2(cls_method_context_t hctx, + uint64_t *size, + ceph::real_time *mtime) +{ + return 0; +} + +int cls_cxx_read2(cls_method_context_t hctx, + int ofs, + int len, + bufferlist *outbl, + uint32_t op_flags) +{ + return 0; +} + +int cls_cxx_write2(cls_method_context_t hctx, + int ofs, + int len, + bufferlist *inbl, + uint32_t op_flags) +{ + return 0; +} + +int cls_cxx_write_full(cls_method_context_t hctx, bufferlist *inbl) +{ + return 0; +} + +int cls_cxx_replace(cls_method_context_t hctx, + int ofs, + int len, + bufferlist *inbl) +{ + return 0; +} + +int cls_cxx_truncate(cls_method_context_t hctx, int ofs) +{ + return 0; +} + +int cls_cxx_getxattr(cls_method_context_t hctx, + const char *name, + bufferlist *outbl) +{ + return 0; +} + +int cls_cxx_getxattrs(cls_method_context_t hctx, + map *attrset) +{ + return 0; +} + +int cls_cxx_setxattr(cls_method_context_t hctx, + const char *name, + bufferlist *inbl) +{ + return 0; +} + +int cls_cxx_snap_revert(cls_method_context_t hctx, snapid_t snapid) +{ + return 0; +} + +int cls_cxx_map_get_all_vals(cls_method_context_t hctx, + map* vals, + bool *more) +{ + return 0; +} + +int cls_cxx_map_get_keys(cls_method_context_t hctx, + const string &start_obj, + uint64_t max_to_get, + set *keys, + bool *more) +{ + return 0; +} + +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, + bool *more) +{ + return 0; +} + +int cls_cxx_map_read_header(cls_method_context_t hctx, bufferlist *outbl) +{ + return 0; +} + +int cls_cxx_map_get_val(cls_method_context_t hctx, + const string &key, + bufferlist *outbl) +{ + return 0; +} + +int cls_cxx_map_set_val(cls_method_context_t hctx, + const string &key, + bufferlist *inbl) +{ + return 0; +} + +int cls_cxx_map_set_vals(cls_method_context_t hctx, + const std::map *map) +{ + return 0; +} + +int cls_cxx_map_clear(cls_method_context_t hctx) +{ + return 0; +} + +int cls_cxx_map_write_header(cls_method_context_t hctx, bufferlist *inbl) +{ + return 0; +} + +int cls_cxx_map_remove_range(cls_method_context_t hctx, + const std::string& key_begin, + const std::string& key_end) +{ + return 0; +} + +int cls_cxx_map_remove_key(cls_method_context_t hctx, const string &key) +{ + return 0; +} + +int cls_cxx_list_watchers(cls_method_context_t hctx, + obj_list_watch_response_t *watchers) +{ + return 0; +} + +uint64_t cls_current_version(cls_method_context_t hctx) +{ + return 0; +} + + +int cls_current_subop_num(cls_method_context_t hctx) +{ + return 0; +} + +uint64_t cls_get_features(cls_method_context_t hctx) +{ + return 0; +} + +uint64_t cls_get_client_features(cls_method_context_t hctx) +{ + return 0; +} + +ceph_release_t cls_get_required_osd_release(cls_method_context_t hctx) +{ + // FIXME + return ceph_release_t::nautilus; +} + +ceph_release_t cls_get_min_compatible_client(cls_method_context_t hctx) +{ + // FIXME + return ceph_release_t::nautilus; +} + +int cls_get_snapset_seq(cls_method_context_t hctx, uint64_t *snap_seq) +{ + return 0; +} + +int cls_cxx_chunk_write_and_set(cls_method_context_t hctx, + int ofs, + int len, + bufferlist *write_inbl, + uint32_t op_flags, + bufferlist *set_inbl, + int set_len) +{ + return 0; +} + +bool cls_has_chunk(cls_method_context_t hctx, string fp_oid) +{ + return 0; +} + +uint64_t cls_get_osd_min_alloc_size(cls_method_context_t hctx) { + // FIXME + return 4096; +} diff --git a/src/crimson/osd/osd.cc b/src/crimson/osd/osd.cc index e38bb9defd4a..f243213810bd 100644 --- a/src/crimson/osd/osd.cc +++ b/src/crimson/osd/osd.cc @@ -51,6 +51,14 @@ namespace { using ceph::common::local_conf; using ceph::os::FuturizedStore; +PGLSFilter::PGLSFilter() : cct(nullptr) +{ +} + +PGLSFilter::~PGLSFilter() +{ +} + namespace ceph::osd { OSD::OSD(int id, uint32_t nonce, diff --git a/src/objclass/class_api.cc b/src/objclass/class_api.cc index 41b29d12c2e3..2ff595f08a67 100644 --- a/src/objclass/class_api.cc +++ b/src/objclass/class_api.cc @@ -1,6 +1,9 @@ // -*- mode:C++; tab-width:8; c-basic-offset:2; indent-tabs-mode:t -*- // vim: ts=8 sw=2 smarttab +#include +#include "common/ceph_context.h" +#include "common/ceph_releases.h" #include "common/config.h" #include "common/debug.h"