From 44b9d72ef0ac883d382a54cd7a188e3c20870db8 Mon Sep 17 00:00:00 2001 From: Bai Jie <2063169+bai-jie@users.noreply.github.com> Date: Sun, 18 Jun 2023 15:13:40 +0800 Subject: [PATCH] doIsEmpty() return error if v.DataBackend is nil (#4587) --- weed/storage/volume.go | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/weed/storage/volume.go b/weed/storage/volume.go index 81c466f8f..b1f5e6c12 100644 --- a/weed/storage/volume.go +++ b/weed/storage/volume.go @@ -134,16 +134,20 @@ func (v *Volume) ContentSize() uint64 { } func (v *Volume) doIsEmpty() (bool, error) { - if v.DataBackend != nil { + // check v.DataBackend.GetStat() + if v.DataBackend == nil { + return false, fmt.Errorf("v.DataBackend is nil") + } else { datFileSize, _, e := v.DataBackend.GetStat() if e != nil { glog.V(0).Infof("Failed to read file size %s %v", v.DataBackend.Name(), e) - return false, e + return false, fmt.Errorf("v.DataBackend.GetStat(): %v", e) } if datFileSize > super_block.SuperBlockSize { return false, nil } } + // check v.nm.ContentSize() if v.nm != nil { if v.nm.ContentSize() > 0 { return false, nil