docker: sync patches from master
(cherry picked from commit faa68fcbfa7bc543cdf70f004b82eed8431c7c77)
This commit is contained in:
parent
1d0f48e769
commit
f69d70d2e2
@ -1 +1 @@
|
|||||||
18.09.0.326
|
18.09.0.327
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
Name: docker-engine
|
Name: docker-engine
|
||||||
Version: 18.09.0
|
Version: 18.09.0
|
||||||
Release: 326
|
Release: 327
|
||||||
Epoch: 2
|
Epoch: 2
|
||||||
Summary: The open-source application container engine
|
Summary: The open-source application container engine
|
||||||
Group: Tools/Docker
|
Group: Tools/Docker
|
||||||
@ -213,6 +213,12 @@ fi
|
|||||||
%endif
|
%endif
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Thu Jul 13 2023 chenjiankun<chenjiankun1@huawei.com> - 18.09.0-327
|
||||||
|
- Type:bugfix
|
||||||
|
- CVE:NA
|
||||||
|
- SUG:NA
|
||||||
|
- DESC:sync patches from master
|
||||||
|
|
||||||
* Wed Jul 12 2023 zhongjiawei<zhongjiawei1@huawei.com> - 18.09.0-326
|
* Wed Jul 12 2023 zhongjiawei<zhongjiawei1@huawei.com> - 18.09.0-326
|
||||||
- Type:bugfix
|
- Type:bugfix
|
||||||
- CVE:NA
|
- CVE:NA
|
||||||
|
|||||||
@ -1 +1 @@
|
|||||||
4fed8ce19beefe47c1d651968f997daa283a4e60
|
790275c4cb56cded4863be1b074e2ae2e115aaf1
|
||||||
|
|||||||
46
patch/0259-backport-fix-blockThreshold-full-bug.patch
Normal file
46
patch/0259-backport-fix-blockThreshold-full-bug.patch
Normal file
@ -0,0 +1,46 @@
|
|||||||
|
From dcfe23a0381da232eb427f8616abd8949fb9693e Mon Sep 17 00:00:00 2001
|
||||||
|
From: ningmingxiao <ning.mingxiao@zte.com.cn>
|
||||||
|
Date: Thu, 30 Dec 2021 23:10:48 +0800
|
||||||
|
Subject: [PATCH] fix blockThreshold full bug
|
||||||
|
|
||||||
|
Signed-off-by: ningmingxiao <ning.mingxiao@zte.com.cn>
|
||||||
|
|
||||||
|
---
|
||||||
|
components/engine/pkg/ioutils/bytespipe.go | 6 ++++++
|
||||||
|
1 file changed, 6 insertions(+)
|
||||||
|
|
||||||
|
diff --git a/components/engine/pkg/ioutils/bytespipe.go b/components/engine/pkg/ioutils/bytespipe.go
|
||||||
|
index d4bbf3c9..e04a5bf5 100644
|
||||||
|
--- a/components/engine/pkg/ioutils/bytespipe.go
|
||||||
|
+++ b/components/engine/pkg/ioutils/bytespipe.go
|
||||||
|
@@ -34,6 +34,7 @@ type BytesPipe struct {
|
||||||
|
buf []*fixedBuffer
|
||||||
|
bufLen int
|
||||||
|
closeErr error // error to return from next Read. set to nil if not closed.
|
||||||
|
+ readBlock bool // check read BytesPipe is Wait() or not
|
||||||
|
}
|
||||||
|
|
||||||
|
// NewBytesPipe creates new BytesPipe, initialized by specified slice.
|
||||||
|
@@ -86,6 +87,9 @@ loop0:
|
||||||
|
|
||||||
|
// make sure the buffer doesn't grow too big from this write
|
||||||
|
for bp.bufLen >= blockThreshold {
|
||||||
|
+ if bp.readBlock {
|
||||||
|
+ bp.wait.Broadcast()
|
||||||
|
+ }
|
||||||
|
bp.wait.Wait()
|
||||||
|
if bp.closeErr != nil {
|
||||||
|
continue loop0
|
||||||
|
@@ -131,7 +135,9 @@ func (bp *BytesPipe) Read(p []byte) (n int, err error) {
|
||||||
|
bp.mu.Unlock()
|
||||||
|
return 0, bp.closeErr
|
||||||
|
}
|
||||||
|
+ bp.readBlock = true
|
||||||
|
bp.wait.Wait()
|
||||||
|
+ bp.readBlock = false
|
||||||
|
if bp.bufLen == 0 && bp.closeErr != nil {
|
||||||
|
err := bp.closeErr
|
||||||
|
bp.mu.Unlock()
|
||||||
|
--
|
||||||
|
2.23.0
|
||||||
|
|
||||||
@ -0,0 +1,38 @@
|
|||||||
|
From 9f1aa90a8c1b3856c4bb6ec422b8f67ac5afc31e Mon Sep 17 00:00:00 2001
|
||||||
|
From: chenjiankun <chenjiankun1@huawei.com>
|
||||||
|
Date: Mon, 12 Jun 2023 16:09:06 +0800
|
||||||
|
Subject: [PATCH] docker: repalce unix.Rmdir with os.RemoveAll when remove
|
||||||
|
mount point dir
|
||||||
|
|
||||||
|
In some cases, there are some files in the mount point dir, so we can't use
|
||||||
|
unix.Rmdir to remove mount point dir.
|
||||||
|
---
|
||||||
|
components/engine/daemon/graphdriver/devmapper/driver.go | 5 +++--
|
||||||
|
1 file changed, 3 insertions(+), 2 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/components/engine/daemon/graphdriver/devmapper/driver.go b/components/engine/daemon/graphdriver/devmapper/driver.go
|
||||||
|
index 3005b84eb..a1a6e17af 100644
|
||||||
|
--- a/components/engine/daemon/graphdriver/devmapper/driver.go
|
||||||
|
+++ b/components/engine/daemon/graphdriver/devmapper/driver.go
|
||||||
|
@@ -19,7 +19,6 @@ import (
|
||||||
|
"github.com/docker/go-units"
|
||||||
|
"github.com/pkg/errors"
|
||||||
|
"github.com/sirupsen/logrus"
|
||||||
|
- "golang.org/x/sys/unix"
|
||||||
|
)
|
||||||
|
|
||||||
|
func init() {
|
||||||
|
@@ -196,7 +195,9 @@ func (d *Driver) Remove(id string) error {
|
||||||
|
// mount point is not important and should not be treated
|
||||||
|
// as a failure to remove the container.
|
||||||
|
mp := path.Join(d.home, "mnt", id)
|
||||||
|
- err := unix.Rmdir(mp)
|
||||||
|
+ // In some cases, there are some files in the mount point dir, so we can't use
|
||||||
|
+ // unix.Rmdir to remove mount point dir. os.RemoveAll is more appropriate
|
||||||
|
+ err := os.RemoveAll(mp)
|
||||||
|
if err != nil && !os.IsNotExist(err) {
|
||||||
|
logrus.WithField("storage-driver", "devicemapper").Warnf("unable to remove mount point %q: %s", mp, err)
|
||||||
|
}
|
||||||
|
--
|
||||||
|
2.23.0
|
||||||
|
|
||||||
@ -253,4 +253,6 @@ patch/0255-docker-libnet-d-overlay-extract-VNI-match-rule-builder.patch
|
|||||||
patch/0256-docker-libnet-d-overlay-document-some-encryption-code.patch
|
patch/0256-docker-libnet-d-overlay-document-some-encryption-code.patch
|
||||||
patch/0257-docker-libnet-d-overlay-add-BPF-powered-VNI-matcher.patch
|
patch/0257-docker-libnet-d-overlay-add-BPF-powered-VNI-matcher.patch
|
||||||
patch/0258-docker-thinpool-full-because-kill-docker-daemon-when.patch
|
patch/0258-docker-thinpool-full-because-kill-docker-daemon-when.patch
|
||||||
|
patch/0259-backport-fix-blockThreshold-full-bug.patch
|
||||||
|
patch/0260-docker-repalce-unix.Rmdir-with-os.RemoveAll-when-rem.patch
|
||||||
#end
|
#end
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user