archive.ApplyLayer() - handle directory whiteouts
When directories are white-outed we can get called with the previously removed directories. Handle this with os.IsNotExist(error).
This commit is contained in:
parent
948bb29d27
commit
6f3c32eb18
1 changed files with 5 additions and 0 deletions
|
@ -20,6 +20,11 @@ func ApplyLayer(dest string, layer Archive) error {
|
||||||
// Step 2: walk for whiteouts and apply them, removing them in the process
|
// Step 2: walk for whiteouts and apply them, removing them in the process
|
||||||
err := filepath.Walk(dest, func(fullPath string, f os.FileInfo, err error) error {
|
err := filepath.Walk(dest, func(fullPath string, f os.FileInfo, err error) error {
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
if os.IsNotExist(err) {
|
||||||
|
// This happens in the case of whiteouts in parent dir removing a directory
|
||||||
|
// We just ignore it
|
||||||
|
return filepath.SkipDir
|
||||||
|
}
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue