Signed-off-by: Vladislav Bogdanov <bubble@xxxxxxxxxxxxx> --- exec/main.c | 17 ++++++++++++++--- man/corosync.8 | 3 +++ 2 files changed, 17 insertions(+), 3 deletions(-) diff --git a/exec/main.c b/exec/main.c index be765de..864fe33 100644 --- a/exec/main.c +++ b/exec/main.c @@ -1190,7 +1190,7 @@ int main (int argc, char **argv, char **envp) const char *error_string; struct totem_config totem_config; int res, ch; - int background, setprio; + int background, setprio, testonly; struct stat stat_out; enum e_corosync_done flock_err; uint64_t totem_config_warnings; @@ -1200,6 +1200,7 @@ int main (int argc, char **argv, char **envp) */ background = 1; setprio = 0; + testonly = 0; while ((ch = getopt (argc, argv, "fprv")) != EOF) { @@ -1212,6 +1213,9 @@ int main (int argc, char **argv, char **envp) case 'r': setprio = 1; break; + case 't': + testonly = 1; + break; case 'v': printf ("Corosync Cluster Engine, version '%s'\n", VERSION); printf ("Copyright (c) 2006-2009 Red Hat, Inc.\n"); @@ -1224,6 +1228,7 @@ int main (int argc, char **argv, char **envp) "usage:\n"\ " -f : Start application in foreground.\n"\ " -p : Does nothing. \n"\ + " -t : Test configuration and exit.\n"\ " -r : Set round robin realtime scheduling \n"\ " -v : Display version and SVN revision of Corosync and exit.\n"); logsys_system_fini(); @@ -1283,8 +1288,10 @@ int main (int argc, char **argv, char **envp) corosync_exit_error (COROSYNC_DONE_LOGCONFIGREAD); } - log_printf (LOGSYS_LEVEL_NOTICE, "Corosync Cluster Engine ('%s'): started and ready to provide service.", VERSION); - log_printf (LOGSYS_LEVEL_INFO, "Corosync built-in features:" PACKAGE_FEATURES ""); + if (!testonly) { + log_printf (LOGSYS_LEVEL_NOTICE, "Corosync Cluster Engine ('%s'): started and ready to provide service.", VERSION); + log_printf (LOGSYS_LEVEL_INFO, "Corosync built-in features:" PACKAGE_FEATURES ""); + } /* * Make sure required directory is present @@ -1336,6 +1343,10 @@ int main (int argc, char **argv, char **envp) corosync_exit_error (COROSYNC_DONE_MAINCONFIGREAD); } + if (testonly) { + corosync_exit_error (COROSYNC_DONE_EXIT); + } + ip_version = totem_config.ip_version; totem_config.totem_memb_ring_id_create_or_load = corosync_ring_id_create_or_load; diff --git a/man/corosync.8 b/man/corosync.8 index 59b2dda..559b392 100644 --- a/man/corosync.8 +++ b/man/corosync.8 @@ -50,6 +50,9 @@ Does nothing (was: "Do not set process priority" - this is now the default). .B -r Set round robin realtime scheduling. .TP +.B -t +Test configuration and then exit. +.TP .B -v Display version and SVN revision of Corosync and exit. .SH SEE ALSO -- 1.7.1 _______________________________________________ discuss mailing list discuss@xxxxxxxxxxxx http://lists.corosync.org/mailman/listinfo/discuss