From a83b8e7b016ce41350d0d996b451d4e1c8e01944 Mon Sep 17 00:00:00 2001 From: Chris Lu Date: Thu, 3 Dec 2020 10:53:29 -0800 Subject: [PATCH] ttl fix: 3y was converted into 96m --- weed/storage/needle/volume_ttl.go | 22 ++++++++++++++++++++-- 1 file changed, 20 insertions(+), 2 deletions(-) diff --git a/weed/storage/needle/volume_ttl.go b/weed/storage/needle/volume_ttl.go index 26ce3b8fd..5368beaed 100644 --- a/weed/storage/needle/volume_ttl.go +++ b/weed/storage/needle/volume_ttl.go @@ -134,7 +134,7 @@ func (t TTL) Minutes() uint32 { case Week: return uint32(t.Count) * 60 * 24 * 7 case Month: - return uint32(t.Count) * 60 * 24 * 31 + return uint32(t.Count) * 60 * 24 * 30 case Year: return uint32(t.Count) * 60 * 24 * 365 } @@ -145,5 +145,23 @@ func SecondsToTTL(seconds int32) string { if seconds == 0 { return "" } - return fmt.Sprintf("%dm", seconds/60) + if seconds/60 < 256 { + return fmt.Sprintf("%dm", seconds/60) + } + if seconds/(3600) < 256 { + return fmt.Sprintf("%dh", seconds/(3600)) + } + if seconds/(3600*24) < 256 { + return fmt.Sprintf("%dd", seconds/(3600*24)) + } + if seconds/(3600*24*7) < 256 { + return fmt.Sprintf("%dw", seconds/(3600*24*7)) + } + if seconds/(3600*24*30) < 256 { + return fmt.Sprintf("%dM", seconds/(3600*24*30)) + } + if seconds/(3600*24*365) < 256 { + return fmt.Sprintf("%dy", seconds/(3600*24*365)) + } + return "" }