From 10aa220a55a79e652b45429bb4d336a1ea0c1159 Mon Sep 17 00:00:00 2001 From: Loic Dachary Date: Sun, 29 Dec 2013 12:18:02 +0100 Subject: [PATCH] mon: set CINIT_FLAG_NO_DAEMON_ACTIONS when appropriate --mkfs, --inject_monmap and --extract-monmap are no daemon actions. Signed-off-by: Loic Dachary --- src/ceph_mon.cc | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/src/ceph_mon.cc b/src/ceph_mon.cc index e4e40299119..49e4fb936cf 100644 --- a/src/ceph_mon.cc +++ b/src/ceph_mon.cc @@ -139,7 +139,27 @@ int main(int argc, const char **argv) argv_to_vec(argc, argv, args); env_to_vec(args); - global_init(NULL, args, CEPH_ENTITY_TYPE_MON, CODE_ENVIRONMENT_DAEMON, 0); + int flags = 0; + { + vector args_copy = args; + std::string val; + for (std::vector::iterator i = args_copy.begin(); + i != args_copy.end(); ) { + if (ceph_argparse_double_dash(args_copy, i)) { + break; + } else if (ceph_argparse_flag(args_copy, i, "--mkfs", (char*)NULL)) { + flags |= CINIT_FLAG_NO_DAEMON_ACTIONS; + } else if (ceph_argparse_witharg(args_copy, i, &val, "--inject_monmap", (char*)NULL)) { + flags |= CINIT_FLAG_NO_DAEMON_ACTIONS; + } else if (ceph_argparse_witharg(args_copy, i, &val, "--extract-monmap", (char*)NULL)) { + flags |= CINIT_FLAG_NO_DAEMON_ACTIONS; + } else { + ++i; + } + } + } + + global_init(NULL, args, CEPH_ENTITY_TYPE_MON, CODE_ENVIRONMENT_DAEMON, flags); uuid_d fsid; std::string val; -- 2.47.3