diff options
author | marcel <marcel@FreeBSD.org> | 2007-09-21 16:24:01 +0000 |
---|---|---|
committer | marcel <marcel@FreeBSD.org> | 2007-09-21 16:24:01 +0000 |
commit | 51f2b5019d115cce69972a26afcee111daf241fd (patch) | |
tree | 053bf4eb9e26f1ca9ea864b0c815338cfa08e15d /lib/libdisk | |
parent | 876d6af999211941c63831d81fd9ac59593cf60b (diff) | |
download | FreeBSD-src-51f2b5019d115cce69972a26afcee111daf241fd.zip FreeBSD-src-51f2b5019d115cce69972a26afcee111daf241fd.tar.gz |
Translate partitions of type "PART" to chunks of the same type
as they would have been translated from partitions of type "GPT".
This fixes sysinstall, now that geom_part has taken over from
geom_gpt.
Approved by: re (kensmith)
Diffstat (limited to 'lib/libdisk')
-rw-r--r-- | lib/libdisk/open_ia64_disk.c | 19 |
1 files changed, 15 insertions, 4 deletions
diff --git a/lib/libdisk/open_ia64_disk.c b/lib/libdisk/open_ia64_disk.c index 8fc9f64..bd28c7a 100644 --- a/lib/libdisk/open_ia64_disk.c +++ b/lib/libdisk/open_ia64_disk.c @@ -206,9 +206,19 @@ Int_Open_Disk(const char *name, char *conftxt) r = strsep(&p, " "); i = strtoimax(r, &s, 0); if (*s) { - uuid_from_string(r, &uuid, &status); - if (status != uuid_s_ok) - abort(); + status = uuid_s_ok; + if (!strcmp(r, "efi")) + uuid = _efi; + else if (!strcmp(r, "mbr")) + uuid = _mbr; + else if (!strcmp(r, "freebsd")) + uuid = _fbsd; + else if (!strcmp(r, "freebsd-swap")) + uuid = _swap; + else if (!strcmp(r, "freebsd-ufs")) + uuid = _ufs; + else + uuid_from_string(r, &uuid, &status); } else status = uuid_s_invalid_string_uuid; if (!strcmp(q, "o")) @@ -241,7 +251,8 @@ Int_Open_Disk(const char *name, char *conftxt) } } else if (strcmp(type, "BSD") == 0) { chunk.type = part; - } else if (strcmp(type, "GPT") == 0) { + } else if (strcmp(type, "GPT") == 0 || + strcmp(type, "PART") == 0) { chunk.subtype = 0; if (status != uuid_s_ok) abort(); |