bin/137713: installer partition editor generates insane label

Kawaguti Ginga ginga-freebsd at ginganet.org
Thu Aug 13 04:20:03 UTC 2009


>Number:         137713
>Category:       bin
>Synopsis:       installer partition editor generates insane label
>Confidential:   no
>Severity:       serious
>Priority:       high
>Responsible:    freebsd-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Thu Aug 13 04:20:02 UTC 2009
>Closed-Date:
>Last-Modified:
>Originator:     Kawaguti Ginga
>Release:        FreeBSD 8-BETA2
>Organization:
ginganet.org
>Environment:
System: FreeBSD 8.0-BETA2 FreeBSD 8.0-BETA2 amd64

Seems to happen not only on 8-current but 7-stable also.
(I haven't checked 6-stable)

	

>Description:
	FreeBSD installer (invoked from bootable DVD)'s disklabel editor
	creates odd disk label.

One example disklabel created by installer for 18GB HDD is shown below.

| FreeBSD# # fdisk -s da0
| /dev/da0: 2231 cyl 255 hd 63 sec
| Part        Start        Size Type Flags
|    1:          63    35840952 0xa5 0x80
| FreeBSD# bsdlabel da0s1
| # /dev/da0s1:
| 8 partitions:
| #        size   offset    fstype   [fsize bsize bps/cpg]
|   a:  2097152       63    4.2BSD        0     0     0
|   b:  2097152  2097215      swap
|   c: 35840952       63    unused        0     0         # "raw" part, don't edit
|   d:  4194304  4194367    4.2BSD        0     0     0
|   e: 27452344  8388671    4.2BSD        0     0     0
| partition c: partition extends past end of unit
| bsdlabel: partition c doesn't start at 0!
| bsdlabel: An incorrect partition c may cause problems for standard system utilities
| partition e: partition extends past end of unit

* fdisk: no problem.
* bsdlabel: 
   + c partition has offset:63, which SHOULD be 0.

   + If using offset:63, *SIZE* of c-partition 
     should be 63 less than fdisk-partition(slice) size.

   + last partition(in this example, "e" partition) is *OVERSIZED*.
        size:27452344 + offset:8388671 = 35841015
     => size of this partition penetrates the slice boundary.

>How-To-Repeat:

For the previous example,
I've created "maximum slice size in fdisk partition".
Then created:
 1. "1g" partition, 
 2. "1g" swap
 3. "2g" partition
 4. rest of the size(just entered the value shown in disklabel-editor's prompt)
     
(only 1 FreeBSD slice for HDD, no DOS/Windows slice)

>Fix:

	


>Release-Note:
>Audit-Trail:
>Unformatted:


More information about the freebsd-bugs mailing list