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) -}