refactor(fsck): avoid panic when vol not exists #22911241

Signed-off-by: zhumingze <zhumingze@oppo.com>
This commit is contained in:
zhumingze 2025-01-06 14:08:15 +08:00 committed by zhumingze1108
parent 3e3204cabe
commit d6ad6681dd

View File

@ -21,6 +21,7 @@ import (
"encoding/json"
"fmt"
"io"
"log"
"net/http"
"os"
"reflect"
@ -213,6 +214,17 @@ func CheckMP() (err error) {
}
defer mpCheckLog.Close()
mc := master.NewMasterClient([]string{MasterAddr}, false)
upGradeCompatibleSettings, err := mc.AdminAPI().GetUpgradeCompatibleSettings()
if err != nil {
log.Fatalf("CheckMP: Get UpGradeCompatibleSettings failed err(%v)", err)
}
if !upGradeCompatibleSettings.DataMediaTypeVaild {
log.Fatalf("CheckMp: %v DataMediaType is not valid", upGradeCompatibleSettings)
}
storageClass := upGradeCompatibleSettings.LegacyDataMediaType
metanode.SetLegacyType(storageClass)
if MpId != 0 {
var mp *proto.MetaPartitionInfo
mp, err = getMetaPartitionById(MasterAddr, MpId)
@ -230,18 +242,6 @@ func CheckMP() (err error) {
return
}
mc := master.NewMasterClient([]string{MasterAddr}, false)
volInfo, err := mc.AdminAPI().GetVolumeSimpleInfo(VolName)
if err != nil {
panic(fmt.Sprintf("get vol name failed, name %s, err %s", VolName, err.Error()))
}
storageClass := proto.MediaType_HDD
if proto.IsValidMediaType(volInfo.VolStorageClass) {
storageClass = volInfo.VolStorageClass
}
metanode.SetLegacyType(storageClass)
mps, err := getMetaPartitions(MasterAddr, VolName)
if err != nil {
return