mirror of
https://github.com/containers/skopeo.git
synced 2025-09-24 11:26:59 +00:00
fix(deps): update module github.com/containers/storage to v1.44.0
Signed-off-by: Renovate Bot <bot@renovateapp.com>
This commit is contained in:
19
vendor/github.com/containers/storage/pkg/system/rm.go
generated
vendored
19
vendor/github.com/containers/storage/pkg/system/rm.go
generated
vendored
@@ -1,6 +1,7 @@
|
||||
package system
|
||||
|
||||
import (
|
||||
"errors"
|
||||
"fmt"
|
||||
"os"
|
||||
"syscall"
|
||||
@@ -35,14 +36,24 @@ func EnsureRemoveAll(dir string) error {
|
||||
}
|
||||
|
||||
for {
|
||||
if err := resetFileFlags(dir); err != nil {
|
||||
return fmt.Errorf("resetting file flags: %w", err)
|
||||
}
|
||||
err := os.RemoveAll(dir)
|
||||
if err == nil {
|
||||
return nil
|
||||
}
|
||||
|
||||
// If the RemoveAll fails with a permission error, we
|
||||
// may have immutable files so try to remove the
|
||||
// immutable flag and redo the RemoveAll.
|
||||
if errors.Is(err, syscall.EPERM) {
|
||||
if err = resetFileFlags(dir); err != nil {
|
||||
return fmt.Errorf("resetting file flags: %w", err)
|
||||
}
|
||||
err = os.RemoveAll(dir)
|
||||
if err == nil {
|
||||
return nil
|
||||
}
|
||||
}
|
||||
|
||||
pe, ok := err.(*os.PathError)
|
||||
if !ok {
|
||||
return err
|
||||
@@ -65,7 +76,7 @@ func EnsureRemoveAll(dir string) error {
|
||||
continue
|
||||
}
|
||||
|
||||
if pe.Err != syscall.EBUSY {
|
||||
if !IsEBUSY(pe.Err) {
|
||||
return err
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user