aboutsummaryrefslogtreecommitdiff
path: root/weed/server/volume_grpc_admin.go
diff options
context:
space:
mode:
Diffstat (limited to 'weed/server/volume_grpc_admin.go')
-rw-r--r--weed/server/volume_grpc_admin.go26
1 files changed, 26 insertions, 0 deletions
diff --git a/weed/server/volume_grpc_admin.go b/weed/server/volume_grpc_admin.go
index aace63fd8..8fa6e27f0 100644
--- a/weed/server/volume_grpc_admin.go
+++ b/weed/server/volume_grpc_admin.go
@@ -148,6 +148,19 @@ func (vs *VolumeServer) VolumeMarkReadonly(ctx context.Context, req *volume_serv
resp := &volume_server_pb.VolumeMarkReadonlyResponse{}
+ if grpcErr := pb.WithMasterClient(false, vs.GetMaster(), vs.grpcDialOption, false, func(client master_pb.SeaweedClient) error {
+ _, err := client.VolumeMarkReadonly(context.Background(), &master_pb.VolumeMarkReadonlyRequest{
+ VolumeId: req.VolumeId,
+ })
+ if err != nil {
+ return fmt.Errorf("set volume %d to read only on master: %v", req.VolumeId, err)
+ }
+ return nil
+ }); grpcErr != nil {
+ glog.V(0).Infof("connect to %s: %v", vs.GetMaster(), grpcErr)
+ return resp, fmt.Errorf("grpc VolumeMarkReadonly with master %s: %v", vs.GetMaster(), grpcErr)
+ }
+
err := vs.store.MarkVolumeReadonly(needle.VolumeId(req.VolumeId))
if err != nil {
@@ -163,6 +176,19 @@ func (vs *VolumeServer) VolumeMarkWritable(ctx context.Context, req *volume_serv
resp := &volume_server_pb.VolumeMarkWritableResponse{}
+ if grpcErr := pb.WithMasterClient(false, vs.GetMaster(), vs.grpcDialOption, false, func(client master_pb.SeaweedClient) error {
+ _, err := client.VolumeMarkWritable(context.Background(), &master_pb.VolumeMarkWritableRequest{
+ VolumeId: req.VolumeId,
+ })
+ if err != nil {
+ return fmt.Errorf("set volume %d to writable on master: %v", req.VolumeId, err)
+ }
+ return nil
+ }); grpcErr != nil {
+ glog.V(0).Infof("connect to %s: %v", vs.GetMaster(), grpcErr)
+ return resp, fmt.Errorf("grpc VolumeMarkWritable with master %s: %v", vs.GetMaster(), grpcErr)
+ }
+
err := vs.store.MarkVolumeWritable(needle.VolumeId(req.VolumeId))
if err != nil {