diff --git a/weed/storage/needle_map.go b/weed/storage/needle_map.go index f2ff9bb76..9aa8fa561 100644 --- a/weed/storage/needle_map.go +++ b/weed/storage/needle_map.go @@ -2,7 +2,6 @@ package storage import ( "fmt" - "io/ioutil" "os" "sync" @@ -31,8 +30,6 @@ type NeedleMapper interface { DeletedCount() int MaxFileKey() NeedleId IndexFileSize() uint64 - IndexFileContent() ([]byte, error) - IndexFileName() string } type baseNeedleMapper struct { @@ -50,10 +47,6 @@ func (nm *baseNeedleMapper) IndexFileSize() uint64 { return 0 } -func (nm *baseNeedleMapper) IndexFileName() string { - return nm.indexFile.Name() -} - func (nm *baseNeedleMapper) appendToIndexFile(key NeedleId, offset Offset, size uint32) error { bytes := needle_map.ToBytes(key, offset, size) @@ -66,9 +59,3 @@ func (nm *baseNeedleMapper) appendToIndexFile(key NeedleId, offset Offset, size _, err := nm.indexFile.Write(bytes) return err } - -func (nm *baseNeedleMapper) IndexFileContent() ([]byte, error) { - nm.indexFileAccessLock.Lock() - defer nm.indexFileAccessLock.Unlock() - return ioutil.ReadFile(nm.indexFile.Name()) -} diff --git a/weed/storage/volume.go b/weed/storage/volume.go index afe3b4c8a..92839f9e6 100644 --- a/weed/storage/volume.go +++ b/weed/storage/volume.go @@ -90,51 +90,57 @@ func (v *Volume) FileStat() (datSize uint64, idxSize uint64, modTime time.Time) func (v *Volume) ContentSize() uint64 { v.dataFileAccessLock.Lock() defer v.dataFileAccessLock.Unlock() + if v.nm == nil { + return 0 + } return v.nm.ContentSize() } func (v *Volume) DeletedSize() uint64 { v.dataFileAccessLock.Lock() defer v.dataFileAccessLock.Unlock() + if v.nm == nil { + return 0 + } return v.nm.DeletedSize() } func (v *Volume) FileCount() uint64 { v.dataFileAccessLock.Lock() defer v.dataFileAccessLock.Unlock() + if v.nm == nil { + return 0 + } return uint64(v.nm.FileCount()) } func (v *Volume) DeletedCount() uint64 { v.dataFileAccessLock.Lock() defer v.dataFileAccessLock.Unlock() + if v.nm == nil { + return 0 + } return uint64(v.nm.DeletedCount()) } func (v *Volume) MaxFileKey() types.NeedleId { v.dataFileAccessLock.Lock() defer v.dataFileAccessLock.Unlock() + if v.nm == nil { + return 0 + } return v.nm.MaxFileKey() } func (v *Volume) IndexFileSize() uint64 { v.dataFileAccessLock.Lock() defer v.dataFileAccessLock.Unlock() + if v.nm == nil { + return 0 + } return v.nm.IndexFileSize() } -func (v *Volume) IndexFileContent() ([]byte, error) { - v.dataFileAccessLock.Lock() - defer v.dataFileAccessLock.Unlock() - return v.nm.IndexFileContent() -} - -func (v *Volume) IndexFileName() string { - v.dataFileAccessLock.Lock() - defer v.dataFileAccessLock.Unlock() - return v.nm.IndexFileName() -} - // Close cleanly shuts down this volume func (v *Volume) Close() { v.dataFileAccessLock.Lock()