Use cleanup.Background instead of context.Background for cleanup

Use the cleanup context to re-use values from the original context

Signed-off-by: Derek McGowan <derek@mcg.dev>
This commit is contained in:
Derek McGowan
2022-12-28 19:56:03 -08:00
parent f606c4eba7
commit b550526ccd
8 changed files with 56 additions and 68 deletions

View File

@@ -35,6 +35,7 @@ import (
"github.com/containerd/containerd/labels"
"github.com/containerd/containerd/log"
"github.com/containerd/containerd/mount"
"github.com/containerd/containerd/pkg/cleanup"
"github.com/containerd/containerd/pkg/kmutex"
"github.com/containerd/containerd/platforms"
"github.com/containerd/containerd/snapshots"
@@ -368,11 +369,11 @@ func (u *Unpacker) unpack(
select {
case <-ctx.Done():
abort(context.Background()) // Cleanup context
cleanup.Do(ctx, abort)
return ctx.Err()
case err := <-fetchErr:
if err != nil {
abort(ctx)
cleanup.Do(ctx, abort)
return err
}
case <-fetchC[i-fetchOffset]:
@@ -380,16 +381,16 @@ func (u *Unpacker) unpack(
diff, err := a.Apply(ctx, desc, mounts, unpack.ApplyOpts...)
if err != nil {
abort(ctx)
cleanup.Do(ctx, abort)
return fmt.Errorf("failed to extract layer %s: %w", diffIDs[i], err)
}
if diff.Digest != diffIDs[i] {
abort(ctx)
cleanup.Do(ctx, abort)
return fmt.Errorf("wrong diff id calculated on extraction %q", diffIDs[i])
}
if err = sn.Commit(ctx, chainID, key, opts...); err != nil {
abort(ctx)
cleanup.Do(ctx, abort)
if errdefs.IsAlreadyExists(err) {
return nil
}