mirror of
https://github.com/seaweedfs/seaweedfs.git
synced 2024-01-19 02:48:24 +00:00
prevent nil volume nm
This commit is contained in:
parent
2a68ddb963
commit
972327f966
|
@ -234,10 +234,16 @@ func (v *Volume) expiredLongEnough(maxDelayMinutes uint32) bool {
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
|
|
||||||
func (v *Volume) CollectStatus() (maxFileKey types.NeedleId, datFileSize int64, modTime time.Time, fileCount, deletedCount, deletedSize uint64) {
|
func (v *Volume) collectStatus() (maxFileKey types.NeedleId, datFileSize int64, modTime time.Time, fileCount, deletedCount, deletedSize uint64, ok bool) {
|
||||||
v.dataFileAccessLock.RLock()
|
v.dataFileAccessLock.RLock()
|
||||||
defer v.dataFileAccessLock.RUnlock()
|
defer v.dataFileAccessLock.RUnlock()
|
||||||
glog.V(3).Infof("CollectStatus volume %d", v.Id)
|
glog.V(3).Infof("collectStatus volume %d", v.Id)
|
||||||
|
|
||||||
|
if v.nm == nil {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
ok = true
|
||||||
|
|
||||||
maxFileKey = v.nm.MaxFileKey()
|
maxFileKey = v.nm.MaxFileKey()
|
||||||
datFileSize, modTime, _ = v.DataBackend.GetStat()
|
datFileSize, modTime, _ = v.DataBackend.GetStat()
|
||||||
|
@ -251,7 +257,11 @@ func (v *Volume) CollectStatus() (maxFileKey types.NeedleId, datFileSize int64,
|
||||||
|
|
||||||
func (v *Volume) ToVolumeInformationMessage() (types.NeedleId, *master_pb.VolumeInformationMessage) {
|
func (v *Volume) ToVolumeInformationMessage() (types.NeedleId, *master_pb.VolumeInformationMessage) {
|
||||||
|
|
||||||
maxFileKey, volumeSize, modTime, fileCount, deletedCount, deletedSize := v.CollectStatus()
|
maxFileKey, volumeSize, modTime, fileCount, deletedCount, deletedSize, ok := v.collectStatus()
|
||||||
|
|
||||||
|
if !ok {
|
||||||
|
return 0, nil
|
||||||
|
}
|
||||||
|
|
||||||
volumeInfo := &master_pb.VolumeInformationMessage{
|
volumeInfo := &master_pb.VolumeInformationMessage{
|
||||||
Id: uint32(v.Id),
|
Id: uint32(v.Id),
|
||||||
|
|
Loading…
Reference in a new issue