aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAleksey Kosov <rusyak777@list.ru>2025-03-21 10:40:28 +0300
committerGitHub <noreply@github.com>2025-03-21 00:40:28 -0700
commit43c3e80970d29c47dea70b3c2c9179b7b6f6d9a2 (patch)
treea0a2fa45839ce9b2e715dac1797def30304e8971
parent8fc63361f27ddc8cabc37cdf815791ab00bf1fc7 (diff)
downloadseaweedfs-43c3e80970d29c47dea70b3c2c9179b7b6f6d9a2.tar.xz
seaweedfs-43c3e80970d29c47dea70b3c2c9179b7b6f6d9a2.zip
added a check for the nil value when requesting FindEntry. (#6651)
Co-authored-by: akosov <a.kosov@kryptonite.ru>
-rw-r--r--weed/filer/filer.go5
1 files 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)
}