From: Yuan Zhou Date: Thu, 17 Jan 2019 15:37:12 +0000 (+0800) Subject: tools: refuse to start if obj cache daemon fail to initialize cache dir X-Git-Tag: v15.0.0~136^2~39 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=2bab2dcac13de524fe6767119efa9573f81c9afd;p=ceph.git tools: refuse to start if obj cache daemon fail to initialize cache dir Signed-off-by: Yuan Zhou --- diff --git a/src/tools/immutable_object_cache/ObjectCacheStore.cc b/src/tools/immutable_object_cache/ObjectCacheStore.cc index ea066e6d7f9b..cb5a84e9c05c 100644 --- a/src/tools/immutable_object_cache/ObjectCacheStore.cc +++ b/src/tools/immutable_object_cache/ObjectCacheStore.cc @@ -51,10 +51,18 @@ int ObjectCacheStore::init(bool reset) { //TODO(): fsck and reuse existing cache objects if (reset) { + std::error_code ec; if (efs::exists(m_cache_root_dir)) { - efs::remove_all(m_cache_root_dir); + if (!efs::remove_all(m_cache_root_dir, ec)) { + lderr(m_cct) << "fail to remove old cache store: " << ec << dendl; + return -1; + } + } + + if (!efs::create_directories(m_cache_root_dir, ec)) { + lderr(m_cct) << "fail to create cache store dir: " << ec << dendl; + return -1; } - efs::create_directories(m_cache_root_dir); } return ret; diff --git a/src/tools/immutable_object_cache/main.cc b/src/tools/immutable_object_cache/main.cc index a030c5cdbbe9..dffae87acc95 100644 --- a/src/tools/immutable_object_cache/main.cc +++ b/src/tools/immutable_object_cache/main.cc @@ -35,17 +35,15 @@ int main(int argc, const char **argv) env_to_vec(args); argv_to_vec(argc, argv, args); + if (ceph_argparse_need_usage(args)) { + usage(); + exit(0); + } + 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); }