in pkg/raid/raid.go [111:136]
func (s *stripedArray) Init() error {
if err := isRaidDevice(s.target); err == nil {
return nil
}
for _, dev := range s.devices {
if err := validateDevice(dev); err != nil {
return err
}
}
if err := stopAllInactive(); err != nil {
return err
}
for _, dev := range s.devices {
isRaid, err := isExistingRaidVolume(s.target, dev)
if err != nil {
return fmt.Errorf("Error when checking if devicce %s is already a raid disk: %s", dev, err)
}
if isRaid {
return assembleExistingStriped(s.target, s.devices...)
}
}
return createNewStriped(s.target, s.devices...)
}