summaryrefslogtreecommitdiff
path: root/cmd/podman
diff options
context:
space:
mode:
authorDaniel J Walsh <dwalsh@redhat.com>2020-11-20 10:47:00 -0500
committerDaniel J Walsh <dwalsh@redhat.com>2020-11-20 10:50:30 -0500
commit2d861ac14ad5b677717f357bd57c3f56f06307d5 (patch)
tree113c60fb00570ca4f643de2286fa723ad781d3e7 /cmd/podman
parent042d4884ea35467df5da053627e5535e82fb2d27 (diff)
downloadpodman-2d861ac14ad5b677717f357bd57c3f56f06307d5.tar.gz
podman-2d861ac14ad5b677717f357bd57c3f56f06307d5.tar.bz2
podman-2d861ac14ad5b677717f357bd57c3f56f06307d5.zip
Handle ps container created field as a time.Time
In the current code we were translating the created time from a time.Time to a unix epoch, this was leading to a loss of precession, and some unexpected results where the sorting order of containers was misordered because of the precession loss. If we pass around created as time.Time, we do not loose the precission. Fixes: https://github.com/containers/podman/issues/8414 Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
Diffstat (limited to 'cmd/podman')
-rw-r--r--cmd/podman/containers/ps.go6
1 files changed, 3 insertions, 3 deletions
diff --git a/cmd/podman/containers/ps.go b/cmd/podman/containers/ps.go
index a1a41ae08..dcbd5657a 100644
--- a/cmd/podman/containers/ps.go
+++ b/cmd/podman/containers/ps.go
@@ -126,7 +126,7 @@ func checkFlags(c *cobra.Command) error {
func jsonOut(responses []entities.ListContainer) error {
r := make([]entities.ListContainer, 0)
for _, con := range responses {
- con.CreatedAt = units.HumanDuration(time.Since(time.Unix(con.Created, 0))) + " ago"
+ con.CreatedAt = units.HumanDuration(time.Since(con.Created)) + " ago"
con.Status = psReporter{con}.Status()
r = append(r, con)
}
@@ -386,12 +386,12 @@ func (l psReporter) Ports() string {
// CreatedAt returns the container creation time in string format. podman
// and docker both return a timestamped value for createdat
func (l psReporter) CreatedAt() string {
- return time.Unix(l.Created, 0).String()
+ return l.Created.String()
}
// CreateHuman allows us to output the created time in human readable format
func (l psReporter) CreatedHuman() string {
- return units.HumanDuration(time.Since(time.Unix(l.Created, 0))) + " ago"
+ return units.HumanDuration(time.Since(l.Created)) + " ago"
}
// Cgroup exposes .Namespaces.Cgroup