From 1ba407bca6c21e371cc6042ebaa448bbcb63af69 Mon Sep 17 00:00:00 2001 From: Konstantin Knizhnik Date: Sat, 26 Jan 2019 15:47:26 +0300 Subject: [PATCH] Add 'agent' command instead of --agent option --- src/pg_probackup.c | 27 +++++++++++++-------------- src/utils/remote.c | 4 ++-- 2 files changed, 15 insertions(+), 16 deletions(-) diff --git a/src/pg_probackup.c b/src/pg_probackup.c index edd52089..847609ab 100644 --- a/src/pg_probackup.c +++ b/src/pg_probackup.c @@ -169,8 +169,6 @@ static ConfigOption cmd_options[] = { 'b', 152, "overwrite", &file_overwrite, SOURCE_CMD_STRICT }, /* show options */ { 'f', 153, "format", opt_show_format, SOURCE_CMD_STRICT }, - /* remote options */ - { 's', 155, "agent", &remote_agent, SOURCE_CMD_STRICT }, { 0 } }; @@ -239,6 +237,19 @@ main(int argc, char *argv[]) backup_subcmd = SET_CONFIG_CMD; else if (strcmp(argv[1], "show-config") == 0) backup_subcmd = SHOW_CONFIG_CMD; + else if (strcmp(argv[1], "agent") == 0 && argc > 2) + { + remote_agent = argv[2]; + if (strcmp(remote_agent, PROGRAM_VERSION) != 0) + { + uint32 agent_version = parse_program_version(remote_agent); + elog(agent_version < AGENT_PROTOCOL_VERSION ? ERROR : WARNING, + "Agent version %s doesn't match master pg_probackup version %s", + remote_agent, PROGRAM_VERSION); + } + fio_communicate(STDIN_FILENO, STDOUT_FILENO); + return 0; + } else if (strcmp(argv[1], "--help") == 0 || strcmp(argv[1], "-?") == 0 || strcmp(argv[1], "help") == 0) @@ -309,18 +320,6 @@ main(int argc, char *argv[]) /* Parse command line only arguments */ config_get_opt(argc, argv, cmd_options, instance_options); - if (remote_agent != NULL) - { - if (strcmp(remote_agent, PROGRAM_VERSION) != 0) - { - uint32 agent_version = parse_program_version(remote_agent); - elog(agent_version < AGENT_PROTOCOL_VERSION ? ERROR : WARNING, - "Agent version %s doesn't match master pg_probackup version %s", - remote_agent, PROGRAM_VERSION); - } - fio_communicate(STDIN_FILENO, STDOUT_FILENO); - return 0; - } pgut_init(); if (help_opt) diff --git a/src/utils/remote.c b/src/utils/remote.c index 0056ddae..c32f6ef4 100644 --- a/src/utils/remote.c +++ b/src/utils/remote.c @@ -90,10 +90,10 @@ bool launch_agent(void) if (sep != NULL) { pg_probackup = sep + 1; } - snprintf(cmd, sizeof(cmd), "%s/%s --agent=%s", + snprintf(cmd, sizeof(cmd), "%s/%s agent %s", instance_config.remote.path, pg_probackup, PROGRAM_VERSION); } else { - snprintf(cmd, sizeof(cmd), "%s --agent=%s", pg_probackup, PROGRAM_VERSION); + snprintf(cmd, sizeof(cmd), "%s agent %s", pg_probackup, PROGRAM_VERSION); } SYS_CHECK(pipe(infd));