* [pve-devel] [PATCH storage] fix #3199: by fixing usage of strftime
@ 2020-12-15 10:59 Fabian Ebner
2020-12-15 13:40 ` [pve-devel] applied: " Thomas Lamprecht
0 siblings, 1 reply; 2+ messages in thread
From: Fabian Ebner @ 2020-12-15 10:59 UTC (permalink / raw)
To: pve-devel
Signed-off-by: Fabian Ebner <f.ebner@proxmox.com>
---
This is embarassing...
In a very early version I wanted to parse the date from the backup name, and
when switching to using the ctime and localtime() instead, I forgot to update
the usage of strftime.
PVE/Storage.pm | 4 ++--
test/prune_backups_test.pm | 48 ++++++++++++++++++++++++++++++++++++++
2 files changed, 50 insertions(+), 2 deletions(-)
diff --git a/PVE/Storage.pm b/PVE/Storage.pm
index c1a21b4..76d17c6 100755
--- a/PVE/Storage.pm
+++ b/PVE/Storage.pm
@@ -1697,8 +1697,8 @@ sub prune_mark_backup_group {
$prune_mark->($prune_list, $keep->{'keep-weekly'}, sub {
my ($ctime) = @_;
my ($sec, $min, $hour, $day, $month, $year) = localtime($ctime);
- my $iso_week = int(strftime("%V", $sec, $min, $hour, $day, $month - 1, $year - 1900));
- my $iso_week_year = int(strftime("%G", $sec, $min, $hour, $day, $month - 1, $year - 1900));
+ my $iso_week = int(strftime("%V", $sec, $min, $hour, $day, $month, $year));
+ my $iso_week_year = int(strftime("%G", $sec, $min, $hour, $day, $month, $year));
return "$iso_week/$iso_week_year";
});
$prune_mark->($prune_list, $keep->{'keep-monthly'}, sub {
diff --git a/test/prune_backups_test.pm b/test/prune_backups_test.pm
index c69c467..a87c4b3 100644
--- a/test/prune_backups_test.pm
+++ b/test/prune_backups_test.pm
@@ -91,6 +91,23 @@ push @{$mocked_backups_lists->{threeway}}, (
'vmid' => 7654,
},
);
+push @{$mocked_backups_lists->{weekboundary}}, (
+ {
+ 'volid' => "$storeid:backup/vzdump-qemu-7654-2020_12_03-12_18_21.tar.zst",
+ 'ctime' => $basetime + (366-31+2)*24*60*60,
+ 'vmid' => 7654,
+ },
+ {
+ 'volid' => "$storeid:backup/vzdump-qemu-7654-2020_12_04-12_18_21.tar.zst",
+ 'ctime' => $basetime + (366-31+3)*24*60*60,
+ 'vmid' => 7654,
+ },
+ {
+ 'volid' => "$storeid:backup/vzdump-qemu-7654-2020_12_07-12_18_21.tar.zst",
+ 'ctime' => $basetime + (366-31+6)*24*60*60,
+ 'vmid' => 7654,
+ },
+);
my $current_list;
my $mock_plugin = Test::MockModule->new('PVE::Storage::Plugin');
$mock_plugin->redefine(list_volumes => sub {
@@ -410,6 +427,37 @@ my $tests = [
},
],
},
+ {
+ description => 'daily=weekly=1,weekboundary',
+ keep => {
+ 'keep-daily' => 1,
+ 'keep-weekly' => 1,
+ },
+ list => 'weekboundary',
+ expected => [
+ {
+ 'volid' => "$storeid:backup/vzdump-qemu-7654-2020_12_03-12_18_21.tar.zst",
+ 'ctime' => $basetime + (366-31+2)*24*60*60,
+ 'type' => 'qemu',
+ 'vmid' => 7654,
+ 'mark' => 'remove',
+ },
+ {
+ 'volid' => "$storeid:backup/vzdump-qemu-7654-2020_12_04-12_18_21.tar.zst",
+ 'ctime' => $basetime + (366-31+3)*24*60*60,
+ 'type' => 'qemu',
+ 'vmid' => 7654,
+ 'mark' => 'keep',
+ },
+ {
+ 'volid' => "$storeid:backup/vzdump-qemu-7654-2020_12_07-12_18_21.tar.zst",
+ 'ctime' => $basetime + (366-31+6)*24*60*60,
+ 'type' => 'qemu',
+ 'vmid' => 7654,
+ 'mark' => 'keep',
+ },
+ ],
+ },
];
plan tests => scalar @$tests;
--
2.20.1
^ permalink raw reply [flat|nested] 2+ messages in thread
* [pve-devel] applied: [PATCH storage] fix #3199: by fixing usage of strftime
2020-12-15 10:59 [pve-devel] [PATCH storage] fix #3199: by fixing usage of strftime Fabian Ebner
@ 2020-12-15 13:40 ` Thomas Lamprecht
0 siblings, 0 replies; 2+ messages in thread
From: Thomas Lamprecht @ 2020-12-15 13:40 UTC (permalink / raw)
To: Proxmox VE development discussion, Fabian Ebner
On 15.12.20 11:59, Fabian Ebner wrote:
> In a very early version I wanted to parse the date from the backup name, and
> when switching to using the ctime and localtime() instead, I forgot to update
> the usage of strftime.
applied, thanks!
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2020-12-15 13:41 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-12-15 10:59 [pve-devel] [PATCH storage] fix #3199: by fixing usage of strftime Fabian Ebner
2020-12-15 13:40 ` [pve-devel] applied: " Thomas Lamprecht
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.
Service provided by Proxmox Server Solutions GmbH | Privacy | Legal