svn commit: r190463 - head/sys/geom/part
Marcel Moolenaar
marcel at FreeBSD.org
Thu Mar 26 22:48:43 PDT 2009
Author: marcel
Date: Fri Mar 27 05:48:42 2009
New Revision: 190463
URL: http://svn.freebsd.org/changeset/base/190463
Log:
Sharpen the saw:
o BSD uses 32-bit block numbers. Limit the scheme to 2^32-1
blocks when the media is larger.
Modified:
head/sys/geom/part/g_part_bsd.c
Modified: head/sys/geom/part/g_part_bsd.c
==============================================================================
--- head/sys/geom/part/g_part_bsd.c Fri Mar 27 05:44:53 2009 (r190462)
+++ head/sys/geom/part/g_part_bsd.c Fri Mar 27 05:48:42 2009 (r190463)
@@ -192,8 +192,7 @@ g_part_bsd_create(struct g_part_table *b
struct g_part_bsd_entry *entry;
struct g_part_bsd_table *table;
u_char *ptr;
- uint64_t msize;
- uint32_t ncyls, secpercyl;
+ uint32_t msize, ncyls, secpercyl;
pp = gpp->gpp_provider;
cp = LIST_FIRST(&pp->consumers);
@@ -203,7 +202,7 @@ g_part_bsd_create(struct g_part_table *b
if (BBSIZE % pp->sectorsize)
return (ENOTBLK);
- msize = pp->mediasize / pp->sectorsize;
+ msize = MIN(pp->mediasize / pp->sectorsize, 0xffffffff);
secpercyl = basetable->gpt_sectors * basetable->gpt_heads;
ncyls = msize / secpercyl;
More information about the svn-src-head
mailing list