fix https://github.com/chrislusf/seaweedfs/issues/1079
@ -59,6 +59,9 @@ func (v *Volume) load(alsoLoadIndex bool, createDatIfMissing bool, needleMapKind
if alreadyHasSuperBlock {
e = v.readSuperBlock()
} else {
if !v.SuperBlock.Initialized() {
return fmt.Errorf("volume %s.dat not initialized", fileName)
}
e = v.maybeWriteSuperBlock()
if e == nil && alsoLoadIndex {
@ -69,6 +69,10 @@ func (s *SuperBlock) Bytes() []byte {
return header
func (s *SuperBlock) Initialized() bool {
return s.ReplicaPlacement == nil || s.Ttl == nil
func (v *Volume) maybeWriteSuperBlock() error {
stat, e := v.dataFile.Stat()
if e != nil {