From e70a980f67dd1dac3dae812ba6055f8fe742bb78 Mon Sep 17 00:00:00 2001 From: Ian Jackson Date: Tue, 7 Jan 2014 18:23:04 +0000 Subject: [PATCH] xl: migration: pass -t to xl migrate-receive If we ourselves are using cr-based overwriting for logging to stderr, pass -t to the migration receiver so that it knows to do the same (since its stderr is normally the pipe from sshd). This requires, of course, that the receiver support that option. This is OK from a compatibility point of view because we support migration to newer, but not necessarily to older, versions. (If unsupported backwards migration is still desired the use of -s "" allows the remote invocation rune to be overridden by a command of one's choice.) This fixes a regression introduced in 2f80ac9c0e8f, where migration messages from the receiver would not use of the overwriting protocol. CC: Olaf Hering Acked-by: Ian Campbell Signed-off-by: Ian Jackson --- tools/libxl/xl_cmdimpl.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/tools/libxl/xl_cmdimpl.c b/tools/libxl/xl_cmdimpl.c index 6b1ebfaf73..d52b933c51 100644 --- a/tools/libxl/xl_cmdimpl.c +++ b/tools/libxl/xl_cmdimpl.c @@ -4110,11 +4110,14 @@ int main_migrate(int argc, char **argv) domid = find_domain(argv[optind]); host = argv[optind + 1]; + bool pass_tty_arg = progress_use_cr || (isatty(2) > 0); + if (!ssh_command[0]) { rune= host; } else { - if (asprintf(&rune, "exec %s %s xl migrate-receive%s%s", + if (asprintf(&rune, "exec %s %s xl%s migrate-receive%s%s", ssh_command, host, + pass_tty_arg ? " -t" : "", daemonize ? "" : " -e", debug ? " -d" : "") < 0) return 1; -- 2.30.2