X-Git-Url: https://git.kernel.dk/?a=blobdiff_plain;f=t%2Fverify-state.c;h=734c1e4c77fa81c791f62d4e784f060d4256c6a9;hb=2857c34bd39fcd67c489a8e2b19d9455032bad0f;hp=95dcf3a6822e9f8113454be39dc3de46a1c965ce;hpb=ac1418345a72290becb71ef9d6f9f9087acb08a2;p=fio.git diff --git a/t/verify-state.c b/t/verify-state.c index 95dcf3a6..734c1e4c 100644 --- a/t/verify-state.c +++ b/t/verify-state.c @@ -27,7 +27,9 @@ static void show_s(struct thread_io_list *s, unsigned int no_s) printf("Index:\t\t%llu\n", (unsigned long long) s->index); printf("Completions:\n"); - for (i = 0; i < s->no_comps; i++) { + if (!s->no_comps) + return; + for (i = s->no_comps - 1; i >= 0; i--) { printf("\t(file=%2llu) %llu\n", (unsigned long long) s->comps[i].fileno, (unsigned long long) s->comps[i].offset); @@ -56,7 +58,8 @@ static void show(struct thread_io_list *s, size_t size) show_s(s, no_s); no_s++; size -= __thread_io_list_sz(s->depth, s->nofiles); - s = (void *) s + __thread_io_list_sz(s->depth, s->nofiles); + s = (struct thread_io_list *)((char *) s + + __thread_io_list_sz(s->depth, s->nofiles)); } while (size != 0); } @@ -93,22 +96,15 @@ static void show_verify_state(void *buf, size_t size) log_err("Unsupported version %d\n", (int) hdr->version); } -int main(int argc, char *argv[]) +static int show_file(const char *file) { struct stat sb; void *buf; int ret, fd; - debug_init(); - - if (argc < 2) { - log_err("Usage: %s \n", argv[0]); - return 1; - } - - fd = open(argv[1], O_RDONLY); + fd = open(file, O_RDONLY); if (fd < 0) { - log_err("open %s: %s\n", argv[1], strerror(errno)); + log_err("open %s: %s\n", file, strerror(errno)); return 1; } @@ -123,10 +119,12 @@ int main(int argc, char *argv[]) if (ret < 0) { log_err("read: %s\n", strerror(errno)); close(fd); + free(buf); return 1; } else if (ret != sb.st_size) { log_err("Short read\n"); close(fd); + free(buf); return 1; } @@ -136,3 +134,24 @@ int main(int argc, char *argv[]) free(buf); return 0; } + +int main(int argc, char *argv[]) +{ + int i, ret; + + debug_init(); + + if (argc < 2) { + log_err("Usage: %s \n", argv[0]); + return 1; + } + + ret = 0; + for (i = 1; i < argc; i++) { + ret = show_file(argv[i]); + if (ret) + break; + } + + return ret; +}