From eba8613eaef84e99c12bb83f561664676c76b0d7 Mon Sep 17 00:00:00 2001 From: StevenLeiZhang Date: Fri, 28 Mar 2025 17:23:44 +0800 Subject: [PATCH] Fix: Kubelet fail to mount S3 volume, and raise error "mkdir /globalmount file exist" Signed-off-by: StevenLeiZhang --- pkg/driver/nodeserver.go | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkg/driver/nodeserver.go b/pkg/driver/nodeserver.go index 68a20fe..1f549c1 100644 --- a/pkg/driver/nodeserver.go +++ b/pkg/driver/nodeserver.go @@ -23,9 +23,9 @@ import ( "regexp" "strconv" + "github.com/golang/glog" "github.com/yandex-cloud/k8s-csi-s3/pkg/mounter" "github.com/yandex-cloud/k8s-csi-s3/pkg/s3" - "github.com/golang/glog" "golang.org/x/net/context" "github.com/container-storage-interface/spec/lib/go/csi" @@ -50,7 +50,7 @@ func getMeta(bucketName, prefix string, context map[string]string) *s3.FSMeta { for _, opt := range re.FindAll([]byte(mountOptStr), -1) { // Unquote options opt = re2.ReplaceAllFunc(opt, func(q []byte) []byte { - return re3.ReplaceAll(q[1 : len(q)-1], []byte("$1")) + return re3.ReplaceAll(q[1:len(q)-1], []byte("$1")) }) mountOptions = append(mountOptions, string(opt)) } @@ -253,7 +253,7 @@ func checkMount(targetPath string) (bool, error) { notMnt, err := mount.New("").IsLikelyNotMountPoint(targetPath) if err != nil { if os.IsNotExist(err) { - if err = os.MkdirAll(targetPath, 0750); err != nil { + if err = os.MkdirAll(targetPath, 0750); err != nil && !os.IsExist(err) { return false, err } notMnt = true