39 lines
1.5 KiB
Diff
39 lines
1.5 KiB
Diff
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
|
|
|