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
}