@@ -246,10 +246,9 @@ do_validate_all(void)
246
246
static void
247
247
do_validate_instance (void )
248
248
{
249
- int i , j ;
249
+ int i ;
250
250
parray * backups ;
251
251
pgBackup * current_backup = NULL ;
252
- pgBackup * base_full_backup = NULL ;
253
252
254
253
elog (INFO , "Validate backups of the instance '%s'" , instance_name );
255
254
@@ -265,24 +264,25 @@ do_validate_instance(void)
265
264
for (i = 0 ; i < parray_num (backups ); i ++ )
266
265
{
267
266
char * backup_id ;
267
+ pgBackup * base_full_backup = NULL ;
268
268
269
269
current_backup = (pgBackup * ) parray_get (backups , i );
270
270
backup_id = base36enc (current_backup -> start_time );
271
271
272
272
elog (INFO , "Validate backup %s" , backup_id );
273
273
274
- free (backup_id );
275
-
276
274
if (current_backup -> backup_mode != BACKUP_MODE_FULL )
277
275
{
278
- j = i + 1 ;
279
- do
276
+ for (int j = i + 1 ; j < parray_num (backups ); j ++ )
280
277
{
281
- base_full_backup = (pgBackup * ) parray_get (backups , j );
282
- j ++ ;
278
+ pgBackup * backup = (pgBackup * ) parray_get (backups , j );
279
+
280
+ if (backup -> backup_mode == BACKUP_MODE_FULL )
281
+ {
282
+ base_full_backup = backup ;
283
+ break ;
284
+ }
283
285
}
284
- while (base_full_backup -> backup_mode != BACKUP_MODE_FULL
285
- && j < parray_num (backups ));
286
286
}
287
287
else
288
288
base_full_backup = current_backup ;
@@ -292,13 +292,18 @@ do_validate_instance(void)
292
292
/* There is no point in wal validation for corrupted backup */
293
293
if (current_backup -> status == BACKUP_STATUS_OK )
294
294
{
295
+ if (base_full_backup == NULL )
296
+ elog (ERROR , "Valid full backup for backup %s is not found." ,
297
+ backup_id );
295
298
/* Validate corresponding WAL files */
296
299
validate_wal (current_backup , arclog_path , 0 ,
297
300
0 , base_full_backup -> tli );
298
301
}
299
302
300
303
if (current_backup -> status != BACKUP_STATUS_OK )
301
304
corrupted_backup_found = true;
305
+
306
+ free (backup_id );
302
307
}
303
308
304
309
/* cleanup */
0 commit comments