瀏覽代碼

No need for container.Lock if rename same name

During the renaming of a container, no need to call `container.Lock()`
if `oldName == newName`.

This is a follow-up from #23360 (commit 88d1ee6c112d980a63c625389524047fea32e6d9)

Signed-off-by: Vincent Demeester <vincent@sbr.pm>
(cherry picked from commit 7e1ec8d2bd6d1aa77f824a1a4d717a7aa4cc3459)
Vincent Demeester 9 年之前
父節點
當前提交
8084f80259
共有 1 個文件被更改,包括 3 次插入3 次删除
  1. 3 3
      daemon/rename.go

+ 3 - 3
daemon/rename.go

@@ -33,13 +33,13 @@ func (daemon *Daemon) ContainerRename(oldName, newName string) error {
 	oldName = container.Name
 	oldIsAnonymousEndpoint := container.NetworkSettings.IsAnonymousEndpoint
 
-	container.Lock()
-	defer container.Unlock()
-
 	if oldName == newName {
 		return fmt.Errorf("Renaming a container with the same name as its current name")
 	}
 
+	container.Lock()
+	defer container.Unlock()
+
 	if newName, err = daemon.reserveName(container.ID, newName); err != nil {
 		return fmt.Errorf("Error when allocating new name: %v", err)
 	}