From e0212dfa1353310ab903263f8c737b8fb40b4fff Mon Sep 17 00:00:00 2001 From: Ramon Fried Date: Fri, 8 Jun 2018 20:53:27 +0300 Subject: iotrace: fix behaviour when buffer is full Don't continue updating the offset when buffer is full. When the buffer size exhausts and there's no space left to write warn the user and update only the needed size and not both the offset and needed size. Add needed buffer size information in the iotrace command. Signed-off-by: Ramon Fried --- cmd/iotrace.c | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) (limited to 'cmd') diff --git a/cmd/iotrace.c b/cmd/iotrace.c index f8ce3398af..fa6c68b198 100644 --- a/cmd/iotrace.c +++ b/cmd/iotrace.c @@ -9,12 +9,13 @@ static void do_print_stats(void) { - ulong start, size, offset, count; + ulong start, size, needed_size, offset, count; printf("iotrace is %sabled\n", iotrace_get_enabled() ? "en" : "dis"); - iotrace_get_buffer(&start, &size, &offset, &count); + iotrace_get_buffer(&start, &size, &needed_size, &offset, &count); printf("Start: %08lx\n", start); - printf("Size: %08lx\n", size); + printf("Actual Size: %08lx\n", size); + printf("Needed Size: %08lx\n", needed_size); iotrace_get_region(&start, &size); printf("Region: %08lx\n", start); printf("Size: %08lx\n", size); @@ -26,11 +27,11 @@ static void do_print_stats(void) static void do_print_trace(void) { - ulong start, size, offset, count; + ulong start, size, needed_size, offset, count; struct iotrace_record *cur_record; - iotrace_get_buffer(&start, &size, &offset, &count); + iotrace_get_buffer(&start, &size, &needed_size, &offset, &count); if (!start || !size || !count) return; -- cgit v1.2.3