show parts archived using view
[BackupPC.git] / bin / BackupPC_ASA_PostArchive_Update
index 3ffb763..50d9cc9 100755 (executable)
@@ -183,16 +183,16 @@ sub check_archive {
        }
 
        sub check_part {
-               my ($host, $num, $part_nr, $tar_size, $size, $md5, $items) = @_;
+               my ($host, $num, $part_nr, $tar_size, $size, $md5, $items, $filename) = @_;
                my $backup_id = get_backup_id($host, $num);
                my $sth_md5 = $dbh->prepare(qq{
                        select
-                               id, tar_size, size, md5, items
+                               id, tar_size, size, md5, items, filename
                        from backup_parts
-                       where backup_id = ? and part_nr = ?
+                       where backup_id = ? and part_nr = ? and filename = ?
                });
 
-               $sth_md5->execute($backup_id, $part_nr);
+               $sth_md5->execute($backup_id, $part_nr, $filename);
 
                if (my $row = $sth_md5->fetchrow_hashref) {
                        return if (
@@ -212,11 +212,12 @@ sub check_archive {
                                tar_size,
                                size,
                                md5,
-                               items
-                       ) values (?,?,?,?,?,?)
+                               items,
+                               filename
+                       ) values (?,?,?,?,?,?,?)
                });
 
-               $sth_insert->execute($backup_id, $part_nr, $tar_size, $size, $md5, $items);
+               $sth_insert->execute($backup_id, $part_nr, $tar_size, $size, $md5, $items, $filename);
                $dbh->commit;
        }
 
@@ -263,8 +264,8 @@ sub check_archive {
                        $items++;
                        $tar_size_inarc += $entry->size;
 
-                       if ($tar_size_inarc > $Conf{MaxArchiveFileSize}) {
-                               print ", part $filename is too big $tar_size_inarc > $Conf{MaxArchiveFileSize}\n";
+                       if ($tar_size_inarc > $Conf{ArchiveChunkSize}) {
+                               print ", part $filename is too big $tar_size_inarc > $Conf{ArchiveChunkSize}\n";
                                return 0;
                        }
 
@@ -298,10 +299,10 @@ sub check_archive {
                my $items = 1;
                $part_nr++;
 
-               check_part($host, $num, $part_nr, $tar_size, $size, $md5, $items);
+               check_part($host, $num, $part_nr, $tar_size, $size, $md5, $items, $filename);
 
                # round increment size to 2k block size
-               $inc_size += int(($size + 2048) / 2048);
+               $inc_size += int((($size + 2048) / 2048 ) * 2048);
        }
 
        $sth_inc_size->execute(