瀏覽代碼

graph: clarify the need for named error

Signed-off-by: Vincent Batts <vbatts@redhat.com>
Vincent Batts 10 年之前
父節點
當前提交
a40e337882
共有 1 個文件被更改,包括 3 次插入1 次删除
  1. 3 1
      graph/graph.go

+ 3 - 1
graph/graph.go

@@ -177,6 +177,7 @@ func (graph *Graph) Create(layerData archive.ArchiveReader, containerID, contain
 
 // Register imports a pre-existing image into the graph.
 func (graph *Graph) Register(img *Image, layerData archive.ArchiveReader) (err error) {
+
 	if err := image.ValidateID(img.ID); err != nil {
 		return err
 	}
@@ -186,10 +187,11 @@ func (graph *Graph) Register(img *Image, layerData archive.ArchiveReader) (err e
 	graph.imageMutex.Lock(img.ID)
 	defer graph.imageMutex.Unlock(img.ID)
 
+	// The returned `error` must be named in this function's signature so that
+	// `err` is not shadowed in this deferred cleanup.
 	defer func() {
 		// If any error occurs, remove the new dir from the driver.
 		// Don't check for errors since the dir might not have been created.
-		// FIXME: this leaves a possible race condition.
 		if err != nil {
 			graph.driver.Remove(img.ID)
 		}