]> www.infradead.org Git - mtd-utils.git/commitdiff
fs-tests: integck: iterate for ever in case of power cut testing
authorArtem Bityutskiy <Artem.Bityutskiy@nokia.com>
Wed, 20 Apr 2011 13:08:30 +0000 (16:08 +0300)
committerArtem Bityutskiy <Artem.Bityutskiy@nokia.com>
Fri, 22 Apr 2011 11:29:53 +0000 (14:29 +0300)
If the test runs in power-cut testing mode, do not exit in case of
EROFS error - but instead re-mount and start again.

Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com>
tests/fs-tests/integrity/integck.c

index 136be097e55f71f51ecbddc504d5f78c4ec78e35..6de4a4252bd3afa54390f4de5dbcddd2ea5c7367 100644 (file)
@@ -2689,7 +2689,27 @@ int main(int argc, char *argv[])
        }
 
        /* Do the actual test */
-       ret = integck();
+       while (1) {
+               ret = integck();
+               /*
+                * Iterate forever only in case of power-cut emulation testing.
+                */
+               if (!args.power_cut_mode)
+                       break;
+               if (ret && errno != EROFS)
+                       break;
+
+               /*
+                * The file-system became read-only and we are in power cut
+                * testing mode. Re-mount the file-system and re-start the
+                * test.
+                */
+               close_open_files();
+               free_fs_info(top_dir);
+               ret = remount_tested_fs();
+               if (ret)
+                       break;
+       }
 
        close_open_files();
        free_fs_info(top_dir);