From 064fa54a531317badc49d1fd1e5d17d0086309e9 Mon Sep 17 00:00:00 2001 From: Qiu Jian Date: Fri, 10 Mar 2023 23:44:34 +0800 Subject: [PATCH] fix: storecli missing lv device name --- pkg/baremetal/utils/raid/megactl/storcli.go | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/pkg/baremetal/utils/raid/megactl/storcli.go b/pkg/baremetal/utils/raid/megactl/storcli.go index 045500a6c4..539397bac4 100644 --- a/pkg/baremetal/utils/raid/megactl/storcli.go +++ b/pkg/baremetal/utils/raid/megactl/storcli.go @@ -275,6 +275,8 @@ type StorcliLogicalVolume struct { PDs []*StorcliLogicalVolumePD // Properties Properties *StorcliLogicalVolumeProperties + // index + Index int } func (lvs *StorcliLogicalVolumes) GetLogicalVolumes(controller int) ([]*StorcliLogicalVolume, error) { @@ -308,6 +310,7 @@ func (lvs *StorcliLogicalVolumes) GetLogicalVolumes(controller int) ([]*StorcliL return nil, errors.Wrapf(err, "Unmarshal %s to StorcliLogicalVolume", lvObj) } lv := lvArr[0] + lv.Index = vIdx lv.Name = keyIdx pdObj, err := data.Get(pdKey) if err != nil { @@ -348,7 +351,12 @@ func (lv *StorcliLogicalVolume) IsSSD() bool { } func (lv *StorcliLogicalVolume) GetOSDevice() string { - return lv.Properties.DeviceName + dev := lv.Properties.DeviceName + if len(dev) == 0 { + // try to guest device name + dev = fmt.Sprintf("sd%c", 'a'+lv.Index) + } + return dev } func (lv *StorcliLogicalVolume) GetSysBlockRotationalPath() string {