func()

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...)
}