diff options
| author | Konstantin Lebedev <9497591+kmlebedev@users.noreply.github.com> | 2023-03-13 19:16:31 +0500 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-03-13 07:16:31 -0700 |
| commit | e17429223ece19f0fb47fb0348e669bebc315236 (patch) | |
| tree | 96101a7d2ba281da04a593e68c7b0b758dd4ac4a | |
| parent | bd7068387164ebe6378aa973101364e10d250dcd (diff) | |
| download | seaweedfs-e17429223ece19f0fb47fb0348e669bebc315236.tar.xz seaweedfs-e17429223ece19f0fb47fb0348e669bebc315236.zip | |
shell script unclean variables (#4298)
| -rw-r--r-- | weed/shell/command_volume_server_evacuate.go | 29 |
1 files changed, 12 insertions, 17 deletions
diff --git a/weed/shell/command_volume_server_evacuate.go b/weed/shell/command_volume_server_evacuate.go index c9c0033c1..94c457689 100644 --- a/weed/shell/command_volume_server_evacuate.go +++ b/weed/shell/command_volume_server_evacuate.go @@ -19,8 +19,8 @@ func init() { type commandVolumeServerEvacuate struct { topologyInfo *master_pb.TopologyInfo - targetServer string - volumeRack string + targetServer *string + volumeRack *string } func (c *commandVolumeServerEvacuate) Name() string { @@ -49,8 +49,8 @@ func (c *commandVolumeServerEvacuate) Do(args []string, commandEnv *CommandEnv, vsEvacuateCommand := flag.NewFlagSet(c.Name(), flag.ContinueOnError) volumeServer := vsEvacuateCommand.String("node", "", "<host>:<port> of the volume server") - volumeRack := vsEvacuateCommand.String("rack", "", "source rack for the volume servers") - targetServer := vsEvacuateCommand.String("target", "", "<host>:<port> of target volume") + c.volumeRack = vsEvacuateCommand.String("rack", "", "source rack for the volume servers") + c.targetServer = vsEvacuateCommand.String("target", "", "<host>:<port> of target volume") skipNonMoveable := vsEvacuateCommand.Bool("skipNonMoveable", false, "skip volumes that can not be moved") applyChange := vsEvacuateCommand.Bool("force", false, "actually apply the changes") retryCount := vsEvacuateCommand.Int("retry", 0, "how many times to retry") @@ -63,15 +63,10 @@ func (c *commandVolumeServerEvacuate) Do(args []string, commandEnv *CommandEnv, return } - if *volumeServer == "" && *volumeRack == "" { + if *volumeServer == "" && *c.volumeRack == "" { return fmt.Errorf("need to specify volume server by -node=<host>:<port> or source rack") } - if *targetServer != "" { - c.targetServer = *targetServer - } - if *volumeRack != "" { - c.volumeRack = *volumeRack - } + for i := 0; i < *retryCount+1; i++ { if err = c.volumeServerEvacuate(commandEnv, *volumeServer, *skipNonMoveable, *applyChange, writer); err == nil { return nil @@ -237,14 +232,14 @@ func moveAwayOneNormalVolume(commandEnv *CommandEnv, volumeReplicas map[uint32][ func (c *commandVolumeServerEvacuate) nodesOtherThan(volumeServers []*Node, thisServer string) (thisNodes []*Node, otherNodes []*Node) { for _, node := range volumeServers { - if node.info.Id == thisServer || (c.volumeRack != "" && node.rack == c.volumeRack) { + if node.info.Id == thisServer || (*c.volumeRack != "" && node.rack == *c.volumeRack) { thisNodes = append(thisNodes, node) continue } - if c.volumeRack != "" && c.volumeRack == node.rack { + if *c.volumeRack != "" && *c.volumeRack == node.rack { continue } - if c.targetServer != "" && c.targetServer != node.info.Id { + if *c.targetServer != "" && *c.targetServer != node.info.Id { continue } otherNodes = append(otherNodes, node) @@ -254,14 +249,14 @@ func (c *commandVolumeServerEvacuate) nodesOtherThan(volumeServers []*Node, this func (c *commandVolumeServerEvacuate) ecNodesOtherThan(volumeServers []*EcNode, thisServer string) (thisNodes []*EcNode, otherNodes []*EcNode) { for _, node := range volumeServers { - if node.info.Id == thisServer || (c.volumeRack != "" && string(node.rack) == c.volumeRack) { + if node.info.Id == thisServer || (*c.volumeRack != "" && string(node.rack) == *c.volumeRack) { thisNodes = append(thisNodes, node) continue } - if c.volumeRack != "" && c.volumeRack == string(node.rack) { + if *c.volumeRack != "" && *c.volumeRack == string(node.rack) { continue } - if c.targetServer != "" && c.targetServer != node.info.Id { + if *c.targetServer != "" && *c.targetServer != node.info.Id { continue } otherNodes = append(otherNodes, node) |
