From: NeilBrown Date: Fri, 25 Mar 2011 22:03:32 +0000 (+1100) Subject: Add trace command to adjust tracing level X-Git-Url: http://git.neil.brown.name/?a=commitdiff_plain;h=fc277c9163fd0905d716125a076636d57495775b;p=lafs-utils.git Add trace command to adjust tracing level Signed-off-by: NeilBrown --- diff --git a/tools/lafs.c b/tools/lafs.c index dc62aa7..6e5735d 100644 --- a/tools/lafs.c +++ b/tools/lafs.c @@ -1648,6 +1648,33 @@ static void c_flush(struct state *st, void **args) printf("Inode %d flushed\n", (int)inode->inum); } +/****** TRACE ******/ +static char help_trace[] = "Control internal tracing"; +static struct args args_trace[] = { + { "LEVEL", opaque, -1, {NULL}, "New tracing verbosity level"}, + TERMINAL_ARG +}; +static void c_trace(struct state *st, void **args) +{ + char *levelstr = args[1]; + int level = 1; + extern int lafs_trace_level; + int old = lafs_trace_level; + if (levelstr) { + if (get_int(levelstr, &level) < 0) { + printf("trace: %s not a valid number\n", levelstr); + return; + } + } + if (st->verbose) { + if (level == old) + printf("Tracing unchanged at %d\n", old); + else + printf("Tracing change from %d to %d\n", old, level); + } + lafs_trace_level = level; +} + /***********************************************************/ /* list of all commands - preferably in alphabetical order */ #define CMD(x) {#x, c_##x, args_##x, help_##x} @@ -1665,6 +1692,7 @@ static struct cmd lafs_cmds[] = { CMD(reset), CMD(show), CMD(store), + CMD(trace), CMD(write), { NULL, NULL, NULL, NULL} };