Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
Skip to content

Commit 9d31d4a

Browse files
committed
Allow remove ERRORs backup and CORRUPTs.
1 parent 3ad6aaa commit 9d31d4a

File tree

1 file changed

+7
-7
lines changed

1 file changed

+7
-7
lines changed

delete.c

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ do_delete(time_t backup_id)
2222
int b_index;
2323
int ret;
2424
parray *backup_list;
25-
pgBackup *last_backup;
25+
pgBackup *last_backup = NULL;
2626

2727
/* DATE are always required */
2828
if (backup_id == 0)
@@ -45,9 +45,7 @@ do_delete(time_t backup_id)
4545
for (i = 0; i < parray_num(backup_list); i++)
4646
{
4747
last_backup = (pgBackup *) parray_get(backup_list, i);
48-
if (last_backup->status == BACKUP_STATUS_OK &&
49-
last_backup->start_time == backup_id
50-
)
48+
if (last_backup->start_time == backup_id)
5149
goto found_backup;
5250
}
5351

@@ -62,15 +60,17 @@ do_delete(time_t backup_id)
6260
/* just do it */
6361
pgBackupDeleteFiles(last_backup);
6462

63+
if (last_backup->status == BACKUP_STATUS_ERROR)
64+
return 0;
65+
6566
/* remove all increments after removed backup */
6667
for (i = b_index - 1; i >= 0; i--)
6768
{
6869
pgBackup *backup = (pgBackup *) parray_get(backup_list, i);
6970
if (backup->backup_mode >= BACKUP_MODE_FULL)
7071
break;
71-
if (backup->status == BACKUP_STATUS_OK ||
72-
backup->backup_mode == BACKUP_MODE_DIFF_PAGE ||
73-
backup->backup_mode == BACKUP_MODE_DIFF_PTRACK
72+
if ((backup->status == BACKUP_STATUS_OK || backup->status == BACKUP_STATUS_CORRUPT) &&
73+
(backup->backup_mode == BACKUP_MODE_DIFF_PAGE || backup->backup_mode == BACKUP_MODE_DIFF_PTRACK)
7474
)
7575
pgBackupDeleteFiles(backup);
7676
}

0 commit comments

Comments
 (0)