Skip to content

Commit cb40c99

Browse files
JulianKunkelglennklockwood
authored andcommitted
Reset stonewall timer to make it work again with running all phases in one execution; i.e. not using multiple runs specifying: -C, -r
1 parent aafdf89 commit cb40c99

File tree

1 file changed

+8
-6
lines changed

1 file changed

+8
-6
lines changed

src/mdtest.c

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -300,7 +300,6 @@ static void remove_file (const char *path, uint64_t itemNum) {
300300
fprintf(out_logfile, "V-3: create_remove_items_helper (non-dirs remove): curr_item is \"%s\"\n", curr_item);
301301
fflush(out_logfile);
302302
}
303-
304303
if (!(shared_file && rank != 0)) {
305304
backend->delete (curr_item, &param);
306305
}
@@ -401,11 +400,9 @@ void create_remove_items_helper(const int dirs, const int create, const char *pa
401400
create_remove_dirs (path, create, itemNum + i);
402401
}
403402
if(CHECK_STONE_WALL(progress)){
404-
if(progress->items_done != 0){
405-
printf("Error, this is an invalid configuration with stonewall!\n");
406-
exit(1);
403+
if(progress->items_done == 0){
404+
progress->items_done = i + 1;
407405
}
408-
progress->items_done = i + 1;
409406
return;
410407
}
411408
}
@@ -1124,7 +1121,7 @@ void file_test(const int iteration, const int ntasks, const char *path, rank_pro
11241121
if (hit){
11251122
progress->stone_wall_timer_seconds = 0;
11261123
if (verbose > 1){
1127-
printf("stonewall rank %d: %lld of %lld \n", rank, (long long) progress->items_start, (long long) progress->items_per_dir);
1124+
printf("stonewall rank %d: %lld of %lld \n", rank, (long long) progress->items_start, (long long) progress->items_per_dir);
11281125
}
11291126
create_remove_items(0, 0, 1, 0, temp_path, 0, progress);
11301127
// now reset the values
@@ -1134,6 +1131,8 @@ void file_test(const int iteration, const int ntasks, const char *path, rank_pro
11341131
if (stoneWallingStatusFile){
11351132
StoreStoneWallingIterations(stoneWallingStatusFile, progress->items_done);
11361133
}
1134+
// reset stone wall timer to allow proper cleanup
1135+
progress->stone_wall_timer_seconds = 0;
11371136
}
11381137
}
11391138
}else{
@@ -1221,6 +1220,8 @@ void file_test(const int iteration, const int ntasks, const char *path, rank_pro
12211220
t[3] = MPI_Wtime();
12221221

12231222
if (remove_only) {
1223+
progress->items_start = 0;
1224+
12241225
for (int dir_iter = 0; dir_iter < directory_loops; dir_iter ++){
12251226
prep_testdir(iteration, dir_iter);
12261227
if (unique_dir_per_task) {
@@ -2032,6 +2033,7 @@ static void mdtest_iteration(int i, int j, MPI_Group testgroup, mdtest_results_t
20322033

20332034
MPI_Barrier(testComm);
20342035
if (remove_only) {
2036+
progress->items_start = 0;
20352037
startCreate = MPI_Wtime();
20362038
for (int dir_iter = 0; dir_iter < directory_loops; dir_iter ++){
20372039
prep_testdir(j, dir_iter);

0 commit comments

Comments
 (0)