diff options
| author | Chris Lu <chris.lu@gmail.com> | 2019-10-29 00:35:16 -0700 |
|---|---|---|
| committer | Chris Lu <chris.lu@gmail.com> | 2019-10-29 00:35:16 -0700 |
| commit | 19b6a16003325ec93bb0e261d5a9c08cd3e03cad (patch) | |
| tree | bd0c38a7dec60904418173a8f0825e63f965d255 /weed/storage/volume_loading.go | |
| parent | eb2172f63fcdf7f5455c142daaceb6b1a489f7f4 (diff) | |
| download | seaweedfs-19b6a16003325ec93bb0e261d5a9c08cd3e03cad.tar.xz seaweedfs-19b6a16003325ec93bb0e261d5a9c08cd3e03cad.zip | |
changed from os.file to backend.DataStorageBackend
Diffstat (limited to 'weed/storage/volume_loading.go')
| -rw-r--r-- | weed/storage/volume_loading.go | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/weed/storage/volume_loading.go b/weed/storage/volume_loading.go index be58588f2..41cd017cb 100644 --- a/weed/storage/volume_loading.go +++ b/weed/storage/volume_loading.go @@ -6,6 +6,7 @@ import ( "time" "github.com/chrislusf/seaweedfs/weed/stats" + "github.com/chrislusf/seaweedfs/weed/storage/backend" "github.com/chrislusf/seaweedfs/weed/storage/needle" "github.com/syndtr/goleveldb/leveldb/opt" @@ -24,16 +25,18 @@ func (v *Volume) load(alsoLoadIndex bool, createDatIfMissing bool, needleMapKind var e error fileName := v.FileName() alreadyHasSuperBlock := false + var dataFile *os.File + // open dat file if exists, canRead, canWrite, modifiedTime, fileSize := checkFile(fileName + ".dat"); exists { if !canRead { return fmt.Errorf("cannot read Volume Data file %s.dat", fileName) } if canWrite { - v.dataFile, e = os.OpenFile(fileName+".dat", os.O_RDWR|os.O_CREATE, 0644) + dataFile, e = os.OpenFile(fileName+".dat", os.O_RDWR|os.O_CREATE, 0644) } else { glog.V(0).Infoln("opening " + fileName + ".dat in READONLY mode") - v.dataFile, e = os.Open(fileName + ".dat") + dataFile, e = os.Open(fileName + ".dat") v.readOnly = true } v.lastModifiedTsSeconds = uint64(modifiedTime.Unix()) @@ -42,11 +45,12 @@ func (v *Volume) load(alsoLoadIndex bool, createDatIfMissing bool, needleMapKind } } else { if createDatIfMissing { - v.dataFile, e = createVolumeFile(fileName+".dat", preallocate, v.MemoryMapMaxSizeMb) + dataFile, e = createVolumeFile(fileName+".dat", preallocate, v.MemoryMapMaxSizeMb) } else { return fmt.Errorf("Volume Data file %s.dat does not exist.", fileName) } } + v.DataBackend = backend.NewDiskFile(fileName+".dat", dataFile) if e != nil { if !os.IsPermission(e) { |
