Signed-off-by: Vladislav Bogdanov <[email protected]>
---
 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
[email protected]
http://lists.corosync.org/mailman/listinfo/discuss

Reply via email to