diff options
author | ae <ae@FreeBSD.org> | 2011-05-25 09:32:19 +0000 |
---|---|---|
committer | ae <ae@FreeBSD.org> | 2011-05-25 09:32:19 +0000 |
commit | 593f345d244d556b4e3ad3f10c2f2aae9483176a (patch) | |
tree | 62f45bb2130049560985435d877b790d80465c8c | |
parent | 5ef0b448267d7739fcf1c77c65f51b50a6ed9a2f (diff) | |
download | FreeBSD-src-593f345d244d556b4e3ad3f10c2f2aae9483176a.zip FreeBSD-src-593f345d244d556b4e3ad3f10c2f2aae9483176a.tar.gz |
Do not truncate available disk space to the closest track boundary.
-rw-r--r-- | sys/geom/part/g_part_mbr.c | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/sys/geom/part/g_part_mbr.c b/sys/geom/part/g_part_mbr.c index 63dcac4..0b40366 100644 --- a/sys/geom/part/g_part_mbr.c +++ b/sys/geom/part/g_part_mbr.c @@ -253,15 +253,14 @@ g_part_mbr_create(struct g_part_table *basetable, struct g_part_parms *gpp) { struct g_provider *pp; struct g_part_mbr_table *table; - uint32_t msize; pp = gpp->gpp_provider; if (pp->sectorsize < MBRSIZE) return (ENOSPC); - msize = MIN(pp->mediasize / pp->sectorsize, UINT32_MAX); basetable->gpt_first = basetable->gpt_sectors; - basetable->gpt_last = msize - (msize % basetable->gpt_sectors) - 1; + basetable->gpt_last = MIN(pp->mediasize / pp->sectorsize, + UINT32_MAX) - 1; table = (struct g_part_mbr_table *)basetable; le16enc(table->mbr + DOSMAGICOFFSET, DOSMAGIC); @@ -470,7 +469,7 @@ g_part_mbr_read(struct g_part_table *basetable, struct g_consumer *cp) basetable->gpt_entries = NDOSPART; basetable->gpt_first = basetable->gpt_sectors; - basetable->gpt_last = msize - (msize % basetable->gpt_sectors) - 1; + basetable->gpt_last = msize - 1; g_free(buf); return (0); |