From e442262cb2b0e6574ad53c37d3dc23dfdc4a26e3 Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Fri, 30 Jan 2015 11:25:02 +0000 Subject: [PATCH] init: Repeat the test several times. --- init.c | 44 ++++++++++++++++++++++++-------------------- 1 file changed, 24 insertions(+), 20 deletions(-) diff --git a/init.c b/init.c index 4694818..0757539 100644 --- a/init.c +++ b/init.c @@ -78,35 +78,39 @@ static char buffer[BUFSIZ]; static void run_test (const char *dev) { - int fd; + int fd, passno; uint64_t size; ssize_t r; printf ("init: testing %s\n", dev); - fflush (stdout); - fd = open (dev, O_RDONLY); - if (fd == -1) { - perror (dev); - _exit (EXIT_FAILURE); - } - if (ioctl (fd, BLKGETSIZE64, &size) == -1) { - perror ("ioctl: BLKGETSIZE64"); - _exit (EXIT_FAILURE); - } + for (passno = 0; passno < 5; ++passno) { + printf ("init: %s: pass %d\n", dev, passno); + fflush (stdout); - while (size > 0) { - r = read (fd, buffer, MIN (BUFSIZ, size)); - if (r == -1) { - perror ("read"); + fd = open (dev, O_RDONLY); + if (fd == -1) { + perror (dev); + _exit (EXIT_FAILURE); + } + if (ioctl (fd, BLKGETSIZE64, &size) == -1) { + perror ("ioctl: BLKGETSIZE64"); _exit (EXIT_FAILURE); } - size -= r; - } - if (close (fd) == -1) { - perror ("close"); - _exit (EXIT_FAILURE); + while (size > 0) { + r = read (fd, buffer, MIN (BUFSIZ, size)); + if (r == -1) { + perror ("read"); + _exit (EXIT_FAILURE); + } + size -= r; + } + + if (close (fd) == -1) { + perror ("close"); + _exit (EXIT_FAILURE); + } } printf ("init: test of %s finished successfully\n", dev); -- 1.8.3.1