From 3b538bcf5174b652b98c90fff52c4c3d879eb7c6 Mon Sep 17 00:00:00 2001 From: Hans-Kristian Bakke Date: Tue, 31 Jan 2017 12:13:53 +0100 Subject: [PATCH] Don't check for interval snapshots if keep is not > 0 --- src/zfssnap.py | 25 +++++++++++++++---------- 1 file changed, 15 insertions(+), 10 deletions(-) diff --git a/src/zfssnap.py b/src/zfssnap.py index 8aa7cb1..18832ab 100755 --- a/src/zfssnap.py +++ b/src/zfssnap.py @@ -700,20 +700,25 @@ def enforce_retention(self, keep, label=None, recursive=False, reset=False, reverse=True)[_keep['minimum']:] if not reset: - keep_snapshots.update( - {s for s in self._get_hourly_snapshots(snapshots, _keep['hourly'])}) + if _keep['hourly'] > 0: + keep_snapshots.update( + {s for s in self._get_hourly_snapshots(snapshots, _keep['hourly'])}) - keep_snapshots.update( - {s for s in self._get_daily_snapshots(snapshots, _keep['daily'])}) + if _keep['daily'] > 0: + keep_snapshots.update( + {s for s in self._get_daily_snapshots(snapshots, _keep['daily'])}) - keep_snapshots.update( - {s for s in self._get_weekly_snapshots(snapshots, _keep['weekly'])}) + if _keep['weekly'] > 0: + keep_snapshots.update( + {s for s in self._get_weekly_snapshots(snapshots, _keep['weekly'])}) - keep_snapshots.update( - {s for s in self._get_monthly_snapshots(snapshots, _keep['monthly'])}) + if _keep['monthly'] > 0: + keep_snapshots.update( + {s for s in self._get_monthly_snapshots(snapshots, _keep['monthly'])}) - keep_snapshots.update( - {s for s in self._get_yearly_snapshots(snapshots, _keep['yearly'])}) + if _keep['yearly'] > 0: + keep_snapshots.update( + {s for s in self._get_yearly_snapshots(snapshots, _keep['yearly'])}) for snapshot in snapshots: if snapshot in keep_snapshots: