diff options
| author | Chris Lu <chris.lu@gmail.com> | 2017-01-08 11:01:46 -0800 |
|---|---|---|
| committer | Chris Lu <chris.lu@gmail.com> | 2017-01-08 11:01:46 -0800 |
| commit | ed44f12f6db7f05aba8a76f1a0ff92356c43d4b0 (patch) | |
| tree | e4c444173b30053d83b9a0b9ad9d8e2063f44c14 /weed/command | |
| parent | 7b6837cbc2b2c27b6acdc2c41d88cd27d0823e60 (diff) | |
| download | seaweedfs-ed44f12f6db7f05aba8a76f1a0ff92356c43d4b0.tar.xz seaweedfs-ed44f12f6db7f05aba8a76f1a0ff92356c43d4b0.zip | |
support Fallocate on linux
Diffstat (limited to 'weed/command')
| -rw-r--r-- | weed/command/backup.go | 2 | ||||
| -rw-r--r-- | weed/command/compact.go | 11 | ||||
| -rw-r--r-- | weed/command/master.go | 4 | ||||
| -rw-r--r-- | weed/command/server.go | 4 |
4 files changed, 13 insertions, 8 deletions
diff --git a/weed/command/backup.go b/weed/command/backup.go index 0b3994027..7983f7dab 100644 --- a/weed/command/backup.go +++ b/weed/command/backup.go @@ -75,7 +75,7 @@ func runBackup(cmd *Command, args []string) bool { return true } - v, err := storage.NewVolume(*s.dir, *s.collection, vid, storage.NeedleMapInMemory, replication, ttl) + v, err := storage.NewVolume(*s.dir, *s.collection, vid, storage.NeedleMapInMemory, replication, ttl, 0) if err != nil { fmt.Printf("Error creating or reading from volume %d: %v\n", vid, err) return true diff --git a/weed/command/compact.go b/weed/command/compact.go index db11880ec..ae54db115 100644 --- a/weed/command/compact.go +++ b/weed/command/compact.go @@ -20,10 +20,11 @@ var cmdCompact = &Command{ } var ( - compactVolumePath = cmdCompact.Flag.String("dir", ".", "data directory to store files") - compactVolumeCollection = cmdCompact.Flag.String("collection", "", "volume collection name") - compactVolumeId = cmdCompact.Flag.Int("volumeId", -1, "a volume id. The volume should already exist in the dir.") - compactMethod = cmdCompact.Flag.Int("method", 0, "option to choose which compact method. use 0 or 1.") + compactVolumePath = cmdCompact.Flag.String("dir", ".", "data directory to store files") + compactVolumeCollection = cmdCompact.Flag.String("collection", "", "volume collection name") + compactVolumeId = cmdCompact.Flag.Int("volumeId", -1, "a volume id. The volume should already exist in the dir.") + compactMethod = cmdCompact.Flag.Int("method", 0, "option to choose which compact method. use 0 or 1.") + compactVolumePreallocate = cmdCompact.Flag.Int64("preallocate", 0, "preallocate volume disk space") ) func runCompact(cmd *Command, args []string) bool { @@ -34,7 +35,7 @@ func runCompact(cmd *Command, args []string) bool { vid := storage.VolumeId(*compactVolumeId) v, err := storage.NewVolume(*compactVolumePath, *compactVolumeCollection, vid, - storage.NeedleMapInMemory, nil, nil) + storage.NeedleMapInMemory, nil, nil, *compactVolumePreallocate) if err != nil { glog.Fatalf("Load Volume [ERROR] %s\n", err) } diff --git a/weed/command/master.go b/weed/command/master.go index cd15defce..ec54fbd7b 100644 --- a/weed/command/master.go +++ b/weed/command/master.go @@ -35,6 +35,7 @@ var ( metaFolder = cmdMaster.Flag.String("mdir", os.TempDir(), "data directory to store meta data") masterPeers = cmdMaster.Flag.String("peers", "", "other master nodes in comma separated ip:port list, example: 127.0.0.1:9093,127.0.0.1:9094") volumeSizeLimitMB = cmdMaster.Flag.Uint("volumeSizeLimitMB", 30*1000, "Master stops directing writes to oversized volumes.") + volumePreallocate = cmdMaster.Flag.Bool("volumePreallocate", false, "Preallocate disk space for volumes.") mpulse = cmdMaster.Flag.Int("pulseSeconds", 5, "number of seconds between heartbeats") confFile = cmdMaster.Flag.String("conf", "/etc/weedfs/weedfs.conf", "Deprecating! xml configuration file") defaultReplicaPlacement = cmdMaster.Flag.String("defaultReplication", "000", "Default replication type if not specified.") @@ -73,7 +74,8 @@ func runMaster(cmd *Command, args []string) bool { r := mux.NewRouter() ms := weed_server.NewMasterServer(r, *mport, *metaFolder, - *volumeSizeLimitMB, *mpulse, *confFile, *defaultReplicaPlacement, *garbageThreshold, + *volumeSizeLimitMB, *volumePreallocate, + *mpulse, *confFile, *defaultReplicaPlacement, *garbageThreshold, masterWhiteList, *masterSecureKey, ) diff --git a/weed/command/server.go b/weed/command/server.go index 027ba191d..87146940f 100644 --- a/weed/command/server.go +++ b/weed/command/server.go @@ -61,6 +61,7 @@ var ( masterPort = cmdServer.Flag.Int("master.port", 9333, "master server http listen port") masterMetaFolder = cmdServer.Flag.String("master.dir", "", "data directory to store meta data, default to same as -dir specified") masterVolumeSizeLimitMB = cmdServer.Flag.Uint("master.volumeSizeLimitMB", 30*1000, "Master stops directing writes to oversized volumes.") + masterVolumePreallocate = cmdServer.Flag.Bool("master.volumePreallocate", false, "Preallocate disk space for volumes.") masterConfFile = cmdServer.Flag.String("master.conf", "/etc/weedfs/weedfs.conf", "xml configuration file") masterDefaultReplicaPlacement = cmdServer.Flag.String("master.defaultReplicaPlacement", "000", "Default replication type if not specified.") volumePort = cmdServer.Flag.Int("volume.port", 8080, "volume server http listen port") @@ -204,7 +205,8 @@ func runServer(cmd *Command, args []string) bool { go func() { r := mux.NewRouter() ms := weed_server.NewMasterServer(r, *masterPort, *masterMetaFolder, - *masterVolumeSizeLimitMB, *volumePulse, *masterConfFile, *masterDefaultReplicaPlacement, *serverGarbageThreshold, + *masterVolumeSizeLimitMB, *masterVolumePreallocate, + *volumePulse, *masterConfFile, *masterDefaultReplicaPlacement, *serverGarbageThreshold, serverWhiteList, *serverSecureKey, ) |
