aboutsummaryrefslogtreecommitdiff
path: root/go/storage/volume.go
diff options
context:
space:
mode:
authorChris Lu <chris.lu@gmail.com>2013-04-18 00:23:14 -0700
committerChris Lu <chris.lu@gmail.com>2013-04-18 00:23:14 -0700
commitfb635146a139f350b126cdb6d93821cad13cdde5 (patch)
treeb7108c151b65b0bba8185fe2ecf720cf3bc8654a /go/storage/volume.go
parent915b16f97a38affeaec6ced9860e1d30a903c047 (diff)
downloadseaweedfs-fb635146a139f350b126cdb6d93821cad13cdde5.tar.xz
seaweedfs-fb635146a139f350b126cdb6d93821cad13cdde5.zip
refactoring needle mapper interface to separate index file storage logic
out
Diffstat (limited to 'go/storage/volume.go')
-rw-r--r--go/storage/volume.go14
1 files changed, 7 insertions, 7 deletions
diff --git a/go/storage/volume.go b/go/storage/volume.go
index 42a931a6d..98f712433 100644
--- a/go/storage/volume.go
+++ b/go/storage/volume.go
@@ -30,7 +30,7 @@ type Volume struct {
Id VolumeId
dir string
dataFile *os.File
- nm *NeedleMap
+ nm NeedleMapper
readOnly bool
SuperBlock
@@ -70,10 +70,10 @@ func (v *Volume) load(alsoLoadIndex bool) error {
e = v.maybeWriteSuperBlock()
}
if e == nil && alsoLoadIndex {
- indexFile, ie := os.OpenFile(fileName+".idx", os.O_RDWR|os.O_CREATE, 0644)
- if ie != nil {
- return fmt.Errorf("cannot create Volume Data %s.dat: %s", fileName, e)
- }
+ indexFile, ie := os.OpenFile(fileName+".idx", os.O_RDWR|os.O_CREATE, 0644)
+ if ie != nil {
+ return fmt.Errorf("cannot create Volume Data %s.dat: %s", fileName, e)
+ }
v.nm, e = LoadNeedleMap(indexFile)
}
return e
@@ -198,7 +198,7 @@ func (v *Volume) read(n *Needle) (int, error) {
}
func (v *Volume) garbageLevel() float64 {
- return float64(v.nm.deletionByteCounter) / float64(v.ContentSize())
+ return float64(v.nm.DeletedSize()) / float64(v.ContentSize())
}
func (v *Volume) compact() error {
@@ -305,5 +305,5 @@ func (v *Volume) copyDataAndGenerateIndexFile(dstName, idxName string) (err erro
return
}
func (v *Volume) ContentSize() uint64 {
- return v.nm.fileByteCounter
+ return v.nm.ContentSize()
}