diff options
Diffstat (limited to 'go/weed/volume.go')
| -rw-r--r-- | go/weed/volume.go | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/go/weed/volume.go b/go/weed/volume.go index e2c6ebd94..2d3ecbb4d 100644 --- a/go/weed/volume.go +++ b/go/weed/volume.go @@ -9,6 +9,7 @@ import ( "time" "github.com/chrislusf/weed-fs/go/glog" + "github.com/chrislusf/weed-fs/go/storage" "github.com/chrislusf/weed-fs/go/util" "github.com/chrislusf/weed-fs/go/weed/weed_server" ) @@ -32,7 +33,7 @@ type VolumeServerOptions struct { dataCenter *string rack *string whiteList []string - useLevelDb *bool + indexType *string fixJpgOrientation *bool } @@ -49,7 +50,7 @@ func init() { v.maxCpu = cmdVolume.Flag.Int("maxCpu", 0, "maximum number of CPUs. 0 means all available CPUs") v.dataCenter = cmdVolume.Flag.String("dataCenter", "", "current volume server's data center name") v.rack = cmdVolume.Flag.String("rack", "", "current volume server's rack name") - v.useLevelDb = cmdVolume.Flag.Bool("leveldb", false, "Change to leveldb mode to save memory with reduced performance of read and write.") + v.indexType = cmdVolume.Flag.String("index", "memory", "Choose [memory|leveldb|boltdb] mode for memory~performance balance.") v.fixJpgOrientation = cmdVolume.Flag.Bool("images.fix.orientation", true, "Adjust jpg orientation when uploading.") } @@ -115,10 +116,17 @@ func runVolume(cmd *Command, args []string) bool { publicVolumeMux = http.NewServeMux() } + volumeNeedleMapKind := storage.NeedleMapInMemory + switch *v.indexType { + case "leveldb": + volumeNeedleMapKind = storage.NeedleMapLevelDb + case "boltdb": + volumeNeedleMapKind = storage.NeedleMapBoltDb + } volumeServer := weed_server.NewVolumeServer(volumeMux, publicVolumeMux, *v.ip, *v.port, *v.publicUrl, v.folders, v.folderMaxLimits, - *v.useLevelDb, + volumeNeedleMapKind, *v.master, *v.pulseSeconds, *v.dataCenter, *v.rack, v.whiteList, *v.fixJpgOrientation, |
