From 9ab256f72aea15c76514cf29566cd227f4a0c9f5 Mon Sep 17 00:00:00 2001 From: Matthew Heon Date: Wed, 3 Jan 2018 22:30:13 -0500 Subject: Make database write in syncContainer conditional This should help with performance when executing many operations on a single container Signed-off-by: Matthew Heon Closes: #185 Approved by: rhatdan --- libpod/container.go | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/libpod/container.go b/libpod/container.go index 18f3ca5ae..2b70afec2 100644 --- a/libpod/container.go +++ b/libpod/container.go @@ -412,11 +412,16 @@ func (c *Container) syncContainer() error { // And then save back to disk if (c.state.State != ContainerStateUnknown) && (c.state.State != ContainerStateConfigured) { + oldState := c.state.State + // TODO: optionally replace this with a stat for the exit file if err := c.runtime.ociRuntime.updateContainerStatus(c); err != nil { return err } - if err := c.save(); err != nil { - return err + // Only save back to DB if state changed + if c.state.State != oldState { + if err := c.save(); err != nil { + return err + } } } -- cgit v1.2.3-54-g00ecf