mirror of
https://github.com/moby/moby.git
synced 2022-11-09 12:21:53 -05:00
7eac23cf8d
During `(*Graph).Register, there was no protection on adding new layers concurrently. In some cases, this resulted in corruption of a layer by creating the directory but not the underlying data. This manifested in several different IO errors reported in the client. This attempts to fix this by adding a mutex by Image ID to protect the Register operation. We do not completely understand the root cause of this corruption other than the result is somehow tied to this particular function. This fix has been confirmed to address the issue through testing. Unfortunately, this fix does not address existing corruption. The user will have to remove and re-pull the corrupt layer to stop the error from happening in the future. This change only ensures that the layer will not become corrupt. Signed-off-by: Stephen J Day <stephen.day@docker.com> |
||
---|---|---|
.. | ||
tags | ||
export.go | ||
graph.go | ||
graph_test.go | ||
history.go | ||
import.go | ||
list.go | ||
load.go | ||
load_unsupported.go | ||
manifest.go | ||
manifest_test.go | ||
mutex.go | ||
pools_test.go | ||
pull.go | ||
push.go | ||
service.go | ||
tags.go | ||
tags_unit_test.go |