diff options
| author | Chris Lu <chrislusf@users.noreply.github.com> | 2019-11-10 11:38:21 -0800 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2019-11-10 11:38:21 -0800 |
| commit | 5a8c3e4cf93a36bdc35cc3a9c9bfcbbe9857fefe (patch) | |
| tree | b571854a02711d5039f0e5a8cf2a0872f77a7afc /weed/server | |
| parent | c34ffed43f9e6afde139c78a723fc56d843e03d4 (diff) | |
| parent | 61fa485700f15b537611dfd399890a63e4b61601 (diff) | |
| download | seaweedfs-5a8c3e4cf93a36bdc35cc3a9c9bfcbbe9857fefe.tar.xz seaweedfs-5a8c3e4cf93a36bdc35cc3a9c9bfcbbe9857fefe.zip | |
Merge pull request #1112 from song-zhang/add-assign-volume-number
add volume number param in assign operation
Diffstat (limited to 'weed/server')
| -rw-r--r-- | weed/server/master_grpc_server_volume.go | 2 | ||||
| -rw-r--r-- | weed/server/master_server_handlers.go | 7 |
2 files changed, 7 insertions, 2 deletions
diff --git a/weed/server/master_grpc_server_volume.go b/weed/server/master_grpc_server_volume.go index 0580acf76..8fc56e9b8 100644 --- a/weed/server/master_grpc_server_volume.go +++ b/weed/server/master_grpc_server_volume.go @@ -78,7 +78,7 @@ func (ms *MasterServer) Assign(ctx context.Context, req *master_pb.AssignRequest } ms.vgLock.Lock() if !ms.Topo.HasWritableVolume(option) { - if _, err = ms.vg.AutomaticGrowByType(option, ms.grpcDialOption, ms.Topo); err != nil { + if _, err = ms.vg.AutomaticGrowByType(option, ms.grpcDialOption, ms.Topo, int(req.WritableVolumeCount)); err != nil { ms.vgLock.Unlock() return nil, fmt.Errorf("Cannot grow volume group! %v", err) } diff --git a/weed/server/master_server_handlers.go b/weed/server/master_server_handlers.go index 9bcd35ced..514d86800 100644 --- a/weed/server/master_server_handlers.go +++ b/weed/server/master_server_handlers.go @@ -100,6 +100,11 @@ func (ms *MasterServer) dirAssignHandler(w http.ResponseWriter, r *http.Request) requestedCount = 1 } + writableVolumeCount, e := strconv.Atoi(r.FormValue("writableVolumeCount")) + if e != nil { + writableVolumeCount = 0 + } + option, err := ms.getVolumeGrowOption(r) if err != nil { writeJsonQuiet(w, r, http.StatusNotAcceptable, operation.AssignResult{Error: err.Error()}) @@ -114,7 +119,7 @@ func (ms *MasterServer) dirAssignHandler(w http.ResponseWriter, r *http.Request) ms.vgLock.Lock() defer ms.vgLock.Unlock() if !ms.Topo.HasWritableVolume(option) { - if _, err = ms.vg.AutomaticGrowByType(option, ms.grpcDialOption, ms.Topo); err != nil { + if _, err = ms.vg.AutomaticGrowByType(option, ms.grpcDialOption, ms.Topo, writableVolumeCount); err != nil { writeJsonError(w, r, http.StatusInternalServerError, fmt.Errorf("Cannot grow volume group! %v", err)) return |
