aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorchrislu <chris.lu@gmail.com>2023-07-07 22:16:58 -0700
committerchrislu <chris.lu@gmail.com>2023-07-07 22:16:58 -0700
commitc278bac26388bb35030e87562bc91a13290ec68e (patch)
tree905a609554f04f7dc87d38ffcca907490914d722
parent0606b59a3e546ee5a2b1d777350dbe5e2529b8b5 (diff)
downloadseaweedfs-c278bac26388bb35030e87562bc91a13290ec68e.tar.xz
seaweedfs-c278bac26388bb35030e87562bc91a13290ec68e.zip
avoid nil needle map
fix https://github.com/seaweedfs/seaweedfs/issues/4640
-rw-r--r--weed/storage/volume_write.go4
1 files changed, 4 insertions, 0 deletions
diff --git a/weed/storage/volume_write.go b/weed/storage/volume_write.go
index ae607e691..56010cea2 100644
--- a/weed/storage/volume_write.go
+++ b/weed/storage/volume_write.go
@@ -197,6 +197,10 @@ func (v *Volume) syncDelete(n *needle.Needle) (Size, error) {
v.dataFileAccessLock.Lock()
defer v.dataFileAccessLock.Unlock()
+ if v.nm == nil {
+ return 0, nil
+ }
+
if MaxPossibleVolumeSize < v.nm.ContentSize()+uint64(actualSize) {
err := fmt.Errorf("volume size limit %d exceeded! current size is %d", MaxPossibleVolumeSize, v.nm.ContentSize())
return 0, err