diff options
-rw-r--r-- | tests/fs-tests/integrity/integck.c | 22 |
1 files changed, 21 insertions, 1 deletions
diff --git a/tests/fs-tests/integrity/integck.c b/tests/fs-tests/integrity/integck.c index 136be09..6de4a42 100644 --- a/tests/fs-tests/integrity/integck.c +++ b/tests/fs-tests/integrity/integck.c @@ -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); |