func repairParentDisk()

in internal/diskutil/grow.go [123:141]


func repairParentDisk(ctx context.Context, utility DiskUtil, disk *types.DiskInfo) (message string, err error) {
	// Get the device identifier for the parent disk
	parentDiskID, err := disk.ParentDeviceID()
	if err != nil {
		return fmt.Sprintf("failed to get the parent disk ID for container [%s]", disk.DeviceIdentifier), err
	}

	// Attempt to repair the container's parent disk
	logrus.WithField("parent_id", parentDiskID).Info("Repairing parent disk...")
	out, err := utility.RepairDisk(ctx, parentDiskID)
	logrus.WithField("out", out).Debug("RepairDisk output")
	if errors.Is(err, ErrReadOnly) {
		logrus.WithError(err).Warn("Would have repaired parent disk")
	} else if err != nil {
		return out, err
	}

	return out, nil
}