|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH 2/5] xl: New -t option ("tty") to force \r-based messages
Provide a new xl global option -t which passes
XTL_STDIOSTREAM_PROGRESS_USE_CR to xentoollog.
Signed-off-by: Ian Jackson <Ian.Jackson@xxxxxxxxxxxxx>
CC: Olaf Hering <olaf@xxxxxxxxx>
CC: Ian Campbell <Ian.Campbell@xxxxxxxxxx>
---
docs/man/xl.pod.1 | 6 ++++++
tools/libxl/xl.c | 9 +++++++--
tools/libxl/xl.h | 1 +
3 files changed, 14 insertions(+), 2 deletions(-)
diff --git a/docs/man/xl.pod.1 b/docs/man/xl.pod.1
index e7b9de2..f7ceaa8 100644
--- a/docs/man/xl.pod.1
+++ b/docs/man/xl.pod.1
@@ -81,6 +81,12 @@ Force execution: xl will refuse to run some commands if it
detects that xend is
also running, this option will force the execution of those commands, even
though it is unsafe.
+=item B<-t>
+
+Always use carriage-return-based overwriting for printing progress
+messages without scrolling the screen. Without -t, this is done only
+if stderr is a tty.
+
=back
=head1 DOMAIN SUBCOMMANDS
diff --git a/tools/libxl/xl.c b/tools/libxl/xl.c
index 657610b..7fdc155 100644
--- a/tools/libxl/xl.c
+++ b/tools/libxl/xl.c
@@ -48,6 +48,7 @@ char *default_gatewaydev = NULL;
char *default_vifbackend = NULL;
enum output_format default_output_format = OUTPUT_FORMAT_JSON;
int claim_mode = 1;
+bool progress_use_cr = 0;
static xentoollog_level minmsglevel = XTL_PROGRESS;
@@ -292,7 +293,7 @@ int main(int argc, char **argv)
int config_len = 0;
const char *locks[] = XEND_LOCK;
- while ((opt = getopt(argc, argv, "+vfN")) >= 0) {
+ while ((opt = getopt(argc, argv, "+vftN")) >= 0) {
switch (opt) {
case 'v':
if (minmsglevel > 0) minmsglevel--;
@@ -303,6 +304,9 @@ int main(int argc, char **argv)
case 'f':
force_execution = 1;
break;
+ case 't':
+ progress_use_cr = 1;
+ break;
default:
fprintf(stderr, "unknown global option\n");
exit(2);
@@ -317,7 +321,8 @@ int main(int argc, char **argv)
}
opterr = 0;
- logger = xtl_createlogger_stdiostream(stderr, minmsglevel, 0);
+ logger = xtl_createlogger_stdiostream(stderr, minmsglevel,
+ (progress_use_cr ? XTL_STDIOSTREAM_PROGRESS_USE_CR : 0));
if (!logger) exit(1);
atexit(xl_ctx_free);
diff --git a/tools/libxl/xl.h b/tools/libxl/xl.h
index f188708..1a71234 100644
--- a/tools/libxl/xl.h
+++ b/tools/libxl/xl.h
@@ -152,6 +152,7 @@ extern int autoballoon;
extern int run_hotplug_scripts;
extern int dryrun_only;
extern int claim_mode;
+extern bool progress_use_cr;
extern char *lockfile;
extern char *default_vifscript;
extern char *default_bridge;
--
1.7.10.4
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |