summaryrefslogtreecommitdiff
path: root/daemon/rename.go
diff options
context:
space:
mode:
authorFabio Kung <fabio.kung@gmail.com>2017-02-22 14:02:20 -0800
committerFabio Kung <fabio.kung@gmail.com>2017-06-23 07:52:31 -0700
commiteed4c7b73f0cf98cf48943da1c082f3210b28c82 (patch)
tree66819372b87b2fc66ce542f51e1977e9916b7b21 /daemon/rename.go
parent054728b1f555892c6c0bfd7abfbaeb2fedbc8f10 (diff)
downloaddocker-eed4c7b73f0cf98cf48943da1c082f3210b28c82.tar.gz
keep a consistent view of containers rendered
Replicate relevant mutations to the in-memory ACID store. Readers will then be able to query container state without locking. Signed-off-by: Fabio Kung <fabio.kung@gmail.com>
Diffstat (limited to 'daemon/rename.go')
-rw-r--r--daemon/rename.go6
1 files changed, 6 insertions, 0 deletions
diff --git a/daemon/rename.go b/daemon/rename.go
index 2770ead80c..0a3730ff16 100644
--- a/daemon/rename.go
+++ b/daemon/rename.go
@@ -82,6 +82,9 @@ func (daemon *Daemon) ContainerRename(oldName, newName string) error {
daemon.nameIndex.Release(oldName + k)
}
daemon.releaseName(oldName)
+ if err = daemon.containersReplica.Save(container.Snapshot()); err != nil {
+ return err
+ }
if err = container.ToDisk(); err != nil {
return err
}
@@ -99,6 +102,9 @@ func (daemon *Daemon) ContainerRename(oldName, newName string) error {
if err != nil {
container.Name = oldName
container.NetworkSettings.IsAnonymousEndpoint = oldIsAnonymousEndpoint
+ if e := daemon.containersReplica.Save(container.Snapshot()); err != nil {
+ logrus.Errorf("%s: Failed in replicating state on rename failure: %v", container.ID, e)
+ }
if e := container.ToDisk(); e != nil {
logrus.Errorf("%s: Failed in writing to Disk on rename failure: %v", container.ID, e)
}