From 1bf3cb81b3f3abf00f102685c41c43c98ccd9444 Mon Sep 17 00:00:00 2001 From: Andrey Beletsky Date: Fri, 3 Apr 2020 19:47:45 +0700 Subject: [PATCH] Use ModTime on systems that don't provide Atim file stat field --- store/atime_linux.go | 17 +++++++++++++++++ store/atime_universal.go | 12 ++++++++++++ store/disk.go | 8 -------- 3 files changed, 29 insertions(+), 8 deletions(-) create mode 100644 store/atime_linux.go create mode 100644 store/atime_universal.go diff --git a/store/atime_linux.go b/store/atime_linux.go new file mode 100644 index 0000000..f3be390 --- /dev/null +++ b/store/atime_linux.go @@ -0,0 +1,17 @@ +// +build linux + +package store + +import ( + "os" + "syscall" + "time" +) + +func timespecToTime(ts syscall.Timespec) time.Time { + return time.Unix(int64(ts.Sec), int64(ts.Nsec)) +} + +func atime(fi os.FileInfo) time.Time { + return timespecToTime(fi.Sys().(*syscall.Stat_t).Atim) +} diff --git a/store/atime_universal.go b/store/atime_universal.go new file mode 100644 index 0000000..237a013 --- /dev/null +++ b/store/atime_universal.go @@ -0,0 +1,12 @@ +// +build !linux + +package store + +import ( + "os" + "time" +) + +func atime(fi os.FileInfo) time.Time { + return fi.ModTime() +} diff --git a/store/disk.go b/store/disk.go index 0dbc30d..b7dea85 100644 --- a/store/disk.go +++ b/store/disk.go @@ -227,11 +227,3 @@ func (d *DiskBlobStore) WipeOldestBlobs() (err error) { } return nil } - -func timespecToTime(ts syscall.Timespec) time.Time { - return time.Unix(int64(ts.Sec), int64(ts.Nsec)) -} - -func atime(fi os.FileInfo) time.Time { - return timespecToTime(fi.Sys().(*syscall.Stat_t).Atim) -}