installer: Add p suffix to path for mmcblk0 devices, etc.

This commit is contained in:
Michael Tremer
2014-09-04 10:59:34 +02:00
parent 0c8b2d994e
commit a691d4b370

View File

@@ -357,11 +357,26 @@ static unsigned long long hw_boot_size(struct hw_destination* dest) {
return MB2BYTES(64);
}
static int hw_device_has_p_suffix(const struct hw_destination* dest) {
// All RAID devices have the p suffix.
if (dest->is_raid)
return 1;
// Devices with a number at the end have the p suffix, too.
// e.g. mmcblk0, cciss0
unsigned int last_char = strlen(dest->path);
if ((dest->path[last_char] >= '0') && (dest->path[last_char] <= '9'))
return 1;
return 0;
}
static int hw_calculate_partition_table(struct hw_destination* dest) {
char path[DEV_SIZE];
int part_idx = 1;
snprintf(path, sizeof(path), "%s%s", dest->path, (dest->is_raid) ? "p" : "");
snprintf(path, sizeof(path), "%s%s", dest->path,
hw_device_has_p_suffix(dest) ? "p" : "");
dest->part_boot_idx = 0;
// Determine the size of the target block device