@@ -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