1
// Copyright 2018 The CubeFS Authors.
3
// Licensed under the Apache License, Version 2.0 (the "License");
4
// you may not use this file except in compliance with the License.
5
// You may obtain a copy of the License at
7
// http://www.apache.org/licenses/LICENSE-2.0
9
// Unless required by applicable law or agreed to in writing, software
10
// distributed under the License is distributed on an "AS IS" BASIS,
11
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
12
// implied. See the License for the specific language governing
13
// permissions and limitations under the License.
20
"github.com/cubefs/cubefs/proto"
21
"github.com/cubefs/cubefs/util/errors"
22
"github.com/cubefs/cubefs/util/log"
25
// Reply operation results to the master.
26
func (m *metadataManager) respondToMaster(task *proto.AdminTask) (err error) {
29
if r := recover(); r != nil {
30
switch data := r.(type) {
34
err = errors.New(data.(string))
38
if err = masterClient.NodeAPI().ResponseMetaNodeTask(task); err != nil {
39
err = errors.Trace(err, "try respondToMaster failed")
44
// Reply data through tcp connection to the client.
45
func (m *metadataManager) respondToClientWithVer(conn net.Conn, p *Packet) (err error) {
48
if r := recover(); r != nil {
49
switch data := r.(type) {
53
err = errors.New(data.(string))
58
// process data and send reply though specified tcp connection.
60
p.ExtentType |= proto.MultiVersionFlag
62
err = p.WriteToConn(conn)
64
log.LogErrorf("response to client[%s], "+
65
"request[%s], response packet[%s]",
66
err.Error(), p.GetOpMsg(), p.GetResultMsg())
71
// Reply data through tcp connection to the client.
72
func (m *metadataManager) respondToClient(conn net.Conn, p *Packet) (err error) {
75
if r := recover(); r != nil {
76
switch data := r.(type) {
80
err = errors.New(data.(string))
85
// process data and send reply though specified tcp connection.
86
err = p.WriteToConn(conn)
88
log.LogErrorf("response to client[%s], "+
89
"request[%s], response packet[%s]",
90
err.Error(), p.GetOpMsg(), p.GetResultMsg())
95
func (m *metadataManager) responseAckOKToMaster(conn net.Conn, p *Packet) {
98
if err := p.WriteToConn(conn); err != nil {
99
log.LogErrorf("ack master response: %s", err.Error())