On May 22, 2011, at 11:29 PM, Andrey V. Elsukov wrote: > On 23.05.2011 6:29, Warner Losh wrote: >> Looking at one of my flash drives that shows the problem: >> >> da0: 15423MB (31588351 512 byte sectors: 255H 63S/T 1966C) GEOM_PART: >> partition 1 has end offset >> beyond last LBA: 31588350 > 31588325 >> >> So why does gpart think the last LBA is 25 less than it really is. Well, >> let's do some sanity >> checks first. fdisk -s da0 tells us: > >> I'm pretty sure this problem is due to a bug in g_part_mbr.c: >> >> basetable->gpt_last = msize - (msize % basetable->gpt_sectors) - 1; >> >> This is wrong, or at least it is a widely disregarded part of what makes up >> an MBR. When I >> correct the size, the geom code is fine. There's no requirement in MBR that >> a partition end of >> any particular boundary, although sometimes you'll find mistaken >> documentation that suggests this >> is the case. Reading between the lines at >> http://www.boot-us.com/gloss03.htm suggests that this >> restriction was only for disks < 8GB in size (from the fact it said that all >> the partitions can >> be described with the CHS fields). This is one of the things I learned when >> I tried to make >> fdisk enforce that: this isn't a requirement of MBR as it is implemented in >> the wild today. > > There is another opinion: > http://www.boot-us.com/gloss02.htm > > "There is the convention that partitions should always start and end on > *cylinder boundaries*."
The current code doesn't do that. The current code just ends on a track boundary... > but > > "Linux and Windows NT/2000/XP/2003/Vista/2008/7 seem to have no problems when > partitions do not > start or end on cylinder boundaries. However other operating systems (e.g. > DOS) expect that this > convention is obeyed." > > What way will we choose? We choose the way that works and not bother with alignment. It is an artifact of the < 8GB disks and hasn't really been necessary for about 15 years now. > I prefer to: leave the choice to the user how partition should be aligned, > and remove automatic > alignment to track boundaries from MBR (and probably from all other schemes). I think we agree. Allow, but do not force, alignment. Warner > -- > WBR, Andrey V. Elsukov > > -- > WBR, Andrey V. Elsukov > _______________________________________________ svn-src-head@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"