diff options
author | ae <ae@FreeBSD.org> | 2011-05-25 09:45:13 +0000 |
---|---|---|
committer | ae <ae@FreeBSD.org> | 2011-05-25 09:45:13 +0000 |
commit | 7b340d89bf9fa78b9d6e5622e8a18ea62b041c6b (patch) | |
tree | c7f1c1c2fbb79f13939e0c6cec66524f11bdc285 /sys | |
parent | ed54296bc8601d342f03fb63721e0f9bfeb43a75 (diff) | |
download | FreeBSD-src-7b340d89bf9fa78b9d6e5622e8a18ea62b041c6b.zip FreeBSD-src-7b340d89bf9fa78b9d6e5622e8a18ea62b041c6b.tar.gz |
Do not truncate available disk space to the closest track boundary.
Diffstat (limited to 'sys')
-rw-r--r-- | sys/geom/part/g_part_pc98.c | 10 |
1 files changed, 3 insertions, 7 deletions
diff --git a/sys/geom/part/g_part_pc98.c b/sys/geom/part/g_part_pc98.c index 0bdc0a6..0d81a0e 100644 --- a/sys/geom/part/g_part_pc98.c +++ b/sys/geom/part/g_part_pc98.c @@ -248,7 +248,6 @@ g_part_pc98_create(struct g_part_table *basetable, struct g_part_parms *gpp) { struct g_provider *pp; struct g_part_pc98_table *table; - uint32_t cyl, msize; pp = gpp->gpp_provider; if (pp->sectorsize < SECSIZE || pp->mediasize < BOOTSIZE) @@ -256,11 +255,8 @@ g_part_pc98_create(struct g_part_table *basetable, struct g_part_parms *gpp) if (pp->sectorsize > SECSIZE) return (ENXIO); - cyl = basetable->gpt_heads * basetable->gpt_sectors; - - msize = MIN(pp->mediasize / SECSIZE, UINT32_MAX); - basetable->gpt_first = cyl; - basetable->gpt_last = msize - (msize % cyl) - 1; + basetable->gpt_first = basetable->gpt_heads * basetable->gpt_sectors; + basetable->gpt_last = MIN(pp->mediasize / SECSIZE, UINT32_MAX) - 1; table = (struct g_part_pc98_table *)basetable; le16enc(table->boot + DOSMAGICOFFSET, DOSMAGIC); @@ -488,7 +484,7 @@ g_part_pc98_read(struct g_part_table *basetable, struct g_consumer *cp) basetable->gpt_entries = NDOSPART; basetable->gpt_first = cyl; - basetable->gpt_last = msize - (msize % cyl) - 1; + basetable->gpt_last = msize - 1; g_free(buf); return (0); |