Browse Source

doIsEmpty() return error if v.DataBackend is nil (#4587)

pull/4590/head
Bai Jie 2 years ago
committed by GitHub
parent
commit
44b9d72ef0
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
  1. 8
      weed/storage/volume.go

8
weed/storage/volume.go

@ -134,16 +134,20 @@ func (v *Volume) ContentSize() uint64 {
} }
func (v *Volume) doIsEmpty() (bool, error) { 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() datFileSize, _, e := v.DataBackend.GetStat()
if e != nil { if e != nil {
glog.V(0).Infof("Failed to read file size %s %v", v.DataBackend.Name(), e) 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 { if datFileSize > super_block.SuperBlockSize {
return false, nil return false, nil
} }
} }
// check v.nm.ContentSize()
if v.nm != nil { if v.nm != nil {
if v.nm.ContentSize() > 0 { if v.nm.ContentSize() > 0 {
return false, nil return false, nil

Loading…
Cancel
Save