X-Git-Url: https://gerrit.opnfv.org/gerrit/gitweb?a=blobdiff_plain;f=src%2Fceph%2Fsrc%2Flibrados%2FRadosClient.h;fp=src%2Fceph%2Fsrc%2Flibrados%2FRadosClient.h;h=0000000000000000000000000000000000000000;hb=7da45d65be36d36b880cc55c5036e96c24b53f00;hp=bff6ca33fce2b006bd0d63c275d643de238e0694;hpb=691462d09d0987b47e112d6ee8740375df3c51b2;p=stor4nfv.git diff --git a/src/ceph/src/librados/RadosClient.h b/src/ceph/src/librados/RadosClient.h deleted file mode 100644 index bff6ca3..0000000 --- a/src/ceph/src/librados/RadosClient.h +++ /dev/null @@ -1,172 +0,0 @@ -// -*- mode:C++; tab-width:8; c-basic-offset:2; indent-tabs-mode:t -*- -// vim: ts=8 sw=2 smarttab -/* - * Ceph - scalable distributed file system - * - * Copyright (C) 2004-2012 Sage Weil - * - * This is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License version 2.1, as published by the Free Software - * Foundation. See file COPYING. - * - */ -#ifndef CEPH_LIBRADOS_RADOSCLIENT_H -#define CEPH_LIBRADOS_RADOSCLIENT_H - -#include "common/Cond.h" -#include "common/Mutex.h" -#include "common/RWLock.h" -#include "common/Timer.h" -#include "include/rados/librados.h" -#include "include/rados/librados.hpp" -#include "mon/MonClient.h" -#include "mgr/MgrClient.h" -#include "msg/Dispatcher.h" - -#include "IoCtxImpl.h" - -struct AuthAuthorizer; -struct Context; -class CephContext; -struct Connection; -struct md_config_t; -class Message; -class MLog; -class Messenger; -class AioCompletionImpl; - -class librados::RadosClient : public Dispatcher -{ - std::unique_ptr > cct_deleter; - -public: - using Dispatcher::cct; - md_config_t *conf; -private: - enum { - DISCONNECTED, - CONNECTING, - CONNECTED, - } state; - - MonClient monclient; - MgrClient mgrclient; - Messenger *messenger; - - uint64_t instance_id; - - bool _dispatch(Message *m); - bool ms_dispatch(Message *m) override; - - bool ms_get_authorizer(int dest_type, AuthAuthorizer **authorizer, bool force_new) override; - void ms_handle_connect(Connection *con) override; - bool ms_handle_reset(Connection *con) override; - void ms_handle_remote_reset(Connection *con) override; - bool ms_handle_refused(Connection *con) override; - - Objecter *objecter; - - Mutex lock; - Cond cond; - SafeTimer timer; - int refcnt; - - version_t log_last_version; - rados_log_callback_t log_cb; - rados_log_callback2_t log_cb2; - void *log_cb_arg; - string log_watch; - - bool service_daemon = false; - string daemon_name, service_name; - map daemon_metadata; - - int wait_for_osdmap(); - -public: - Finisher finisher; - - explicit RadosClient(CephContext *cct_); - ~RadosClient() override; - int ping_monitor(string mon_id, string *result); - int connect(); - void shutdown(); - - int watch_flush(); - int async_watch_flush(AioCompletionImpl *c); - - uint64_t get_instance_id(); - - int wait_for_latest_osdmap(); - - int create_ioctx(const char *name, IoCtxImpl **io); - int create_ioctx(int64_t, IoCtxImpl **io); - - int get_fsid(std::string *s); - int64_t lookup_pool(const char *name); - bool pool_requires_alignment(int64_t pool_id); - int pool_requires_alignment2(int64_t pool_id, bool *requires); - uint64_t pool_required_alignment(int64_t pool_id); - int pool_required_alignment2(int64_t pool_id, uint64_t *alignment); - int pool_get_auid(uint64_t pool_id, unsigned long long *auid); - int pool_get_name(uint64_t pool_id, std::string *auid); - - int pool_list(std::list >& ls); - int get_pool_stats(std::list& ls, map& result); - int get_fs_stats(ceph_statfs& result); - bool get_pool_is_selfmanaged_snaps_mode(const std::string& pool); - - /* - -1 was set as the default value and monitor will pickup the right crush rule with below order: - a) osd pool default crush replicated ruleset - b) the first ruleset in crush ruleset - c) error out if no value find - */ - int pool_create(string& name, unsigned long long auid=0, int16_t crush_rule=-1); - int pool_create_async(string& name, PoolAsyncCompletionImpl *c, unsigned long long auid=0, - int16_t crush_rule=-1); - int pool_get_base_tier(int64_t pool_id, int64_t* base_tier); - int pool_delete(const char *name); - - int pool_delete_async(const char *name, PoolAsyncCompletionImpl *c); - - int blacklist_add(const string& client_address, uint32_t expire_seconds); - - int mon_command(const vector& cmd, const bufferlist &inbl, - bufferlist *outbl, string *outs); - void mon_command_async(const vector& cmd, const bufferlist &inbl, - bufferlist *outbl, string *outs, Context *on_finish); - int mon_command(int rank, - const vector& cmd, const bufferlist &inbl, - bufferlist *outbl, string *outs); - int mon_command(string name, - const vector& cmd, const bufferlist &inbl, - bufferlist *outbl, string *outs); - int mgr_command(const vector& cmd, const bufferlist &inbl, - bufferlist *outbl, string *outs); - int osd_command(int osd, vector& cmd, const bufferlist& inbl, - bufferlist *poutbl, string *prs); - int pg_command(pg_t pgid, vector& cmd, const bufferlist& inbl, - bufferlist *poutbl, string *prs); - - void handle_log(MLog *m); - int monitor_log(const string& level, rados_log_callback_t cb, - rados_log_callback2_t cb2, void *arg); - - void get(); - bool put(); - void blacklist_self(bool set); - - int service_daemon_register( - const std::string& service, ///< service name (e.g., 'rgw') - const std::string& name, ///< daemon name (e.g., 'gwfoo') - const std::map& metadata); ///< static metadata about daemon - int service_daemon_update_status( - const std::map& status); - - mon_feature_t get_required_monitor_features() const; -}; - -#endif