From 43c3e80970d29c47dea70b3c2c9179b7b6f6d9a2 Mon Sep 17 00:00:00 2001 From: Aleksey Kosov Date: Fri, 21 Mar 2025 10:40:28 +0300 Subject: [PATCH] added a check for the nil value when requesting FindEntry. (#6651) Co-authored-by: akosov --- weed/filer/filer.go | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/weed/filer/filer.go b/weed/filer/filer.go index 91ba0819a..acde49d54 100644 --- a/weed/filer/filer.go +++ b/weed/filer/filer.go @@ -3,12 +3,13 @@ package filer import ( "context" "fmt" - "github.com/seaweedfs/seaweedfs/weed/s3api/s3bucket" "os" "sort" "strings" "time" + "github.com/seaweedfs/seaweedfs/weed/s3api/s3bucket" + "github.com/seaweedfs/seaweedfs/weed/cluster/lock_manager" "github.com/seaweedfs/seaweedfs/weed/cluster" @@ -289,7 +290,7 @@ func (f *Filer) ensureParentDirectoryEntry(ctx context.Context, entry *Entry, di glog.V(2).Infof("create directory: %s %v", dirPath, dirEntry.Mode) mkdirErr := f.Store.InsertEntry(ctx, dirEntry) if mkdirErr != nil { - if _, err := f.FindEntry(ctx, util.FullPath(dirPath)); err == filer_pb.ErrNotFound { + if fEntry, err := f.FindEntry(ctx, util.FullPath(dirPath)); err == filer_pb.ErrNotFound || fEntry == nil { glog.V(3).Infof("mkdir %s: %v", dirPath, mkdirErr) return fmt.Errorf("mkdir %s: %v", dirPath, mkdirErr) }