X-Git-Url: https://gerrit.opnfv.org/gerrit/gitweb?a=blobdiff_plain;f=src%2Fceph%2Fsrc%2Ftools%2Frbd_mirror%2Fmain.cc;fp=src%2Fceph%2Fsrc%2Ftools%2Frbd_mirror%2Fmain.cc;h=0000000000000000000000000000000000000000;hb=7da45d65be36d36b880cc55c5036e96c24b53f00;hp=a423555eac9a0d1832cb60a66b61092f11514eba;hpb=691462d09d0987b47e112d6ee8740375df3c51b2;p=stor4nfv.git diff --git a/src/ceph/src/tools/rbd_mirror/main.cc b/src/ceph/src/tools/rbd_mirror/main.cc deleted file mode 100644 index a423555..0000000 --- a/src/ceph/src/tools/rbd_mirror/main.cc +++ /dev/null @@ -1,85 +0,0 @@ -// -*- mode:C++; tab-width:8; c-basic-offset:2; indent-tabs-mode:t -*- -// vim: ts=8 sw=2 smarttab - -#include "common/ceph_argparse.h" -#include "common/config.h" -#include "common/debug.h" -#include "common/errno.h" -#include "global/global_init.h" -#include "global/signal_handler.h" -#include "Mirror.h" - -#include - -rbd::mirror::Mirror *mirror = nullptr; - -void usage() { - std::cout << "usage: rbd-mirror [options...]" << std::endl; - std::cout << "options:\n"; - std::cout << " -m monaddress[:port] connect to specified monitor\n"; - std::cout << " --keyring= path to keyring for local cluster\n"; - std::cout << " --log-file= file to log debug output\n"; - std::cout << " --debug-rbd-mirror=/ set rbd-mirror debug level\n"; - generic_server_usage(); -} - -static void handle_signal(int signum) -{ - if (mirror) - mirror->handle_signal(signum); -} - -int main(int argc, const char **argv) -{ - std::vector args; - env_to_vec(args); - argv_to_vec(argc, argv, args); - - auto cct = global_init(nullptr, args, CEPH_ENTITY_TYPE_CLIENT, - CODE_ENVIRONMENT_DAEMON, - CINIT_FLAG_UNPRIVILEGED_DAEMON_DEFAULTS); - - for (auto i = args.begin(); i != args.end(); ++i) { - if (ceph_argparse_flag(args, i, "-h", "--help", (char*)NULL)) { - usage(); - return EXIT_SUCCESS; - } - } - - if (g_conf->daemonize) { - global_init_daemonize(g_ceph_context); - } - g_ceph_context->enable_perf_counter(); - - common_init_finish(g_ceph_context); - - init_async_signal_handler(); - register_async_signal_handler(SIGHUP, sighup_handler); - register_async_signal_handler_oneshot(SIGINT, handle_signal); - register_async_signal_handler_oneshot(SIGTERM, handle_signal); - - std::vector cmd_args; - argv_to_vec(argc, argv, cmd_args); - - // disable unnecessary librbd cache - g_ceph_context->_conf->set_val_or_die("rbd_cache", "false"); - - mirror = new rbd::mirror::Mirror(g_ceph_context, cmd_args); - int r = mirror->init(); - if (r < 0) { - std::cerr << "failed to initialize: " << cpp_strerror(r) << std::endl; - goto cleanup; - } - - mirror->run(); - - cleanup: - unregister_async_signal_handler(SIGHUP, sighup_handler); - unregister_async_signal_handler(SIGINT, handle_signal); - unregister_async_signal_handler(SIGTERM, handle_signal); - shutdown_async_signal_handler(); - - delete mirror; - - return r < 0 ? EXIT_SUCCESS : EXIT_FAILURE; -}