From f17dd37fef8dcac1b02c58aadbf7fc91622fcea2 Mon Sep 17 00:00:00 2001 From: Alexander Morozov Date: Fri, 30 Oct 2015 09:04:25 -0700 Subject: [PATCH] Use json.Encoder for container.toDisk * for simmetry with fromDisk * it might be slightly better for GC because of internal sync.Pool Signed-off-by: Alexander Morozov Upstream-commit: cf02b369e077022335f01b2f78ebd759129de82a Component: engine --- components/engine/daemon/container.go | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/components/engine/daemon/container.go b/components/engine/daemon/container.go index 480bd8eb96..242ac70a40 100644 --- a/components/engine/daemon/container.go +++ b/components/engine/daemon/container.go @@ -112,17 +112,21 @@ func (container *Container) fromDisk() error { } func (container *Container) toDisk() error { - data, err := json.Marshal(container) - if err != nil { - return err - } - pth, err := container.jsonPath() if err != nil { return err } - if err := ioutil.WriteFile(pth, data, 0666); err != nil { + jsonSource, err := os.Create(pth) + if err != nil { + return err + } + defer jsonSource.Close() + + enc := json.NewEncoder(jsonSource) + + // Save container settings + if err := enc.Encode(container); err != nil { return err }