diff options
| author | chrislu <chris.lu@gmail.com> | 2024-09-29 20:47:16 -0700 |
|---|---|---|
| committer | chrislu <chris.lu@gmail.com> | 2024-09-29 20:47:16 -0700 |
| commit | 190b2fc27637017cdd075331fd04b8cb0e5879b7 (patch) | |
| tree | 93db54c4ad83af2b09eb7862380b8c634154e203 /weed/shell/command_volume_move.go | |
| parent | 8111ec13bd06e4a9142a87640986de8c41d4b75a (diff) | |
| parent | 20929f2a5753a04385be2378e698c8df762b3256 (diff) | |
| download | seaweedfs-origin/mq2.tar.xz seaweedfs-origin/mq2.zip | |
Merge branch 'master' into mq2origin/mq2
Diffstat (limited to 'weed/shell/command_volume_move.go')
| -rw-r--r-- | weed/shell/command_volume_move.go | 17 |
1 files changed, 12 insertions, 5 deletions
diff --git a/weed/shell/command_volume_move.go b/weed/shell/command_volume_move.go index 97eaf211e..cf9991695 100644 --- a/weed/shell/command_volume_move.go +++ b/weed/shell/command_volume_move.go @@ -4,12 +4,13 @@ import ( "context" "flag" "fmt" - "github.com/seaweedfs/seaweedfs/weed/pb" - "github.com/seaweedfs/seaweedfs/weed/wdclient" "io" "log" "time" + "github.com/seaweedfs/seaweedfs/weed/pb" + "github.com/seaweedfs/seaweedfs/weed/wdclient" + "github.com/seaweedfs/seaweedfs/weed/operation" "github.com/seaweedfs/seaweedfs/weed/pb/volume_server_pb" "github.com/seaweedfs/seaweedfs/weed/storage/needle" @@ -48,6 +49,10 @@ func (c *commandVolumeMove) Help() string { ` } +func (c *commandVolumeMove) HasTag(CommandTag) bool { + return false +} + func (c *commandVolumeMove) Do(args []string, commandEnv *CommandEnv, writer io.Writer) (err error) { volMoveCommand := flag.NewFlagSet(c.Name(), flag.ContinueOnError) @@ -132,6 +137,7 @@ func copyVolume(grpcDialOption grpc.DialOption, writer io.Writer, volumeId needl shouldMarkWritable = true _, readonlyErr := volumeServerClient.VolumeMarkReadonly(context.Background(), &volume_server_pb.VolumeMarkReadonlyRequest{ VolumeId: uint32(volumeId), + Persist: false, }) return readonlyErr } @@ -197,7 +203,7 @@ func deleteVolume(grpcDialOption grpc.DialOption, volumeId needle.VolumeId, sour }) } -func markVolumeWritable(grpcDialOption grpc.DialOption, volumeId needle.VolumeId, sourceVolumeServer pb.ServerAddress, writable bool) (err error) { +func markVolumeWritable(grpcDialOption grpc.DialOption, volumeId needle.VolumeId, sourceVolumeServer pb.ServerAddress, writable, persist bool) (err error) { return operation.WithVolumeServerClient(false, sourceVolumeServer, grpcDialOption, func(volumeServerClient volume_server_pb.VolumeServerClient) error { if writable { _, err = volumeServerClient.VolumeMarkWritable(context.Background(), &volume_server_pb.VolumeMarkWritableRequest{ @@ -206,16 +212,17 @@ func markVolumeWritable(grpcDialOption grpc.DialOption, volumeId needle.VolumeId } else { _, err = volumeServerClient.VolumeMarkReadonly(context.Background(), &volume_server_pb.VolumeMarkReadonlyRequest{ VolumeId: uint32(volumeId), + Persist: persist, }) } return err }) } -func markVolumeReplicasWritable(grpcDialOption grpc.DialOption, volumeId needle.VolumeId, locations []wdclient.Location, writable bool) error { +func markVolumeReplicasWritable(grpcDialOption grpc.DialOption, volumeId needle.VolumeId, locations []wdclient.Location, writable, persist bool) error { for _, location := range locations { fmt.Printf("markVolumeReadonly %d on %s ...\n", volumeId, location.Url) - if err := markVolumeWritable(grpcDialOption, volumeId, location.ServerAddress(), writable); err != nil { + if err := markVolumeWritable(grpcDialOption, volumeId, location.ServerAddress(), writable, persist); err != nil { return err } } |
