Merge pull request #46778 from corhere/libc8d/revert-serialize-exec-starts-workaround

Revert "libcontainerd: work around exec start bug in c8d"
This commit is contained in:
Sebastiaan van Stijn 2023-11-06 21:12:39 +01:00 committed by GitHub
commit 796da163f9
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 3 additions and 10 deletions

View file

@ -62,10 +62,6 @@ type container struct {
type task struct {
containerd.Task
ctr *container
// Workaround for https://github.com/containerd/containerd/issues/8557.
// See also https://github.com/moby/moby/issues/45595.
serializeExecStartsWorkaround sync.Mutex
}
type process struct {
@ -302,12 +298,7 @@ func (t *task) Exec(ctx context.Context, processID string, spec *specs.Process,
// the stdin of exec process will be created after p.Start in containerd
defer func() { stdinCloseSync <- p }()
err = func() error {
t.serializeExecStartsWorkaround.Lock()
defer t.serializeExecStartsWorkaround.Unlock()
return p.Start(ctx)
}()
if err != nil {
if err = p.Start(ctx); err != nil {
// use new context for cleanup because old one may be cancelled by user, but leave a timeout to make sure
// we are not waiting forever if containerd is unresponsive or to work around fifo cancelling issues in
// older containerd-shim

View file

@ -106,6 +106,8 @@ export DOCKER_BUILDTAGS='exclude_graphdriver_btrfs exclude_graphdriver_zfs'
To function properly, the Docker daemon needs the following software to be
installed and available at runtime:
* containerd version 1.6.22 or later
* containerd versions 1.7.0 through 1.7.2 are incompatible
* iptables version 1.4 or later
* procps (or similar provider of a "ps" executable)
* e2fsprogs version 1.4.12 or later (in use: mkfs.ext4, tune2fs)