diff options
author | marcel <marcel@FreeBSD.org> | 2009-03-30 00:33:43 +0000 |
---|---|---|
committer | marcel <marcel@FreeBSD.org> | 2009-03-30 00:33:43 +0000 |
commit | bfa8e2dd6f0aaaf53628020b2410c56ddc574d1c (patch) | |
tree | dd4d75728279474a3bdebb03a028b856c25d2085 /sys | |
parent | ca739eae4a06d758f8eae83c7b26012ff5898d3d (diff) | |
download | FreeBSD-src-bfa8e2dd6f0aaaf53628020b2410c56ddc574d1c.zip FreeBSD-src-bfa8e2dd6f0aaaf53628020b2410c56ddc574d1c.tar.gz |
Sharpen the saw:
o Don't create a GPT scheme underneath another scheme when
the probe doesn't allow it.
Diffstat (limited to 'sys')
-rw-r--r-- | sys/geom/part/g_part_gpt.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/sys/geom/part/g_part_gpt.c b/sys/geom/part/g_part_gpt.c index db6ebdc..cfbd897 100644 --- a/sys/geom/part/g_part_gpt.c +++ b/sys/geom/part/g_part_gpt.c @@ -393,6 +393,10 @@ g_part_gpt_create(struct g_part_table *basetable, struct g_part_parms *gpp) quad_t last; size_t tblsz; + /* We don't nest, which means that our depth should be 0. */ + if (basetable->gpt_depth != 0) + return (ENXIO); + table = (struct g_part_gpt_table *)basetable; pp = gpp->gpp_provider; tblsz = (basetable->gpt_entries * sizeof(struct gpt_ent) + |