diff --git a/runtime/v2/bundle.go b/runtime/v2/bundle.go index 8282d540b..e33943ed9 100644 --- a/runtime/v2/bundle.go +++ b/runtime/v2/bundle.go @@ -21,6 +21,7 @@ import ( "fmt" "os" "path/filepath" + "runtime" "github.com/containerd/containerd/identifiers" "github.com/containerd/containerd/mount" @@ -128,8 +129,10 @@ type Bundle struct { func (b *Bundle) Delete() error { work, werr := os.Readlink(filepath.Join(b.Path, "work")) rootfs := filepath.Join(b.Path, "rootfs") - if err := mount.UnmountAll(rootfs, 0); err != nil { - return fmt.Errorf("unmount rootfs %s: %w", rootfs, err) + if runtime.GOOS != "darwin" { + if err := mount.UnmountAll(rootfs, 0); err != nil { + return fmt.Errorf("unmount rootfs %s: %w", rootfs, err) + } } if err := os.Remove(rootfs); err != nil && !os.IsNotExist(err) { return fmt.Errorf("failed to remove bundle rootfs: %w", err)