[parted-devel] Could someone please look into this?
ben
benscott at nwlink.com
Thu Jan 12 20:34:11 UTC 2012
I originally reported this a couple years ago and "bumped" the thread six
months ago. I asked again last week. I never got any response.
libparted version 2.3 Debian Sid
This is an example of the problem with ped_disk_get_max_partition_geometry().
With three partitions I ask libparted for a maximum geometry on the last two.
In both cases it is smaller than it could be by a wide margin. This only seems
to be a problem ith ms-dos partitions.
**** FDISK OUTPUT ****
Start: 1951415550
End : 1953520064
Disk /dev/sdc: 1000.2 GB, 1000204886016 bytes
255 heads, 63 sectors/track, 121601 cylinders, total 1953525168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x0000f013
Device Boot Start End Blocks Id System
/dev/sdc1 2048 2097215 1047584 83 Linux
/dev/sdc2 1951422464 1953520063 1048800 83 Linux
/dev/sdc3 1949317120 1951415548 1049214+ 83 Linux
**** libparted partion layout ****
Type: 8
Start: 0
End: 62
Type: 4
Start: 63
End: 2047
Type: 0 <-- first partition
Start: 2048
End: 2097215
Type: 4
Start: 2097216
End: 1949317119
Type: 0 <-- second partiton
Start: 1949317120
End: 1951415548
Type: 4
Start: 1951415549
End: 1951422463
Type: 0 <-- third partition
Start: 1951422464
End: 1953520063
Type: 4
Start: 1953520064
End: 1953520064
Type: 8
Start: 1953520065
End: 1953525167
**** results for max geometry -- constraint any ****
Maximum geometry for 2nd partition
Start: 2104515
End : 1951415549
The first partition ends at 2097215 but libparted
puts the start of a maximized partition at 2104515
which is 7300 sectors or 3.7 megs later.
Maximum geometry for 3rd partition
Start: 1951415550
End : 1953520064
Here the beginning is right but the end at 1953520064 is
short of 1953525167 by 5103 sectors or 2.6 meg.
**** A different setup ****
**** FDISK ****
Disk /dev/sdc: 1000.2 GB, 1000204886016 bytes
255 heads, 63 sectors/track, 121601 cylinders, total 1953525168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x000e6efb
Device Boot Start End Blocks Id System
/dev/sdc1 976760832 1953520064 488379616+ 5 Extended
/dev/sdc2 2048 390704370 195351161+ 83 Linux
/dev/sdc3 390717440 402438236 5860398+ 83 Linux
**** liblvm ****
Start: 0
End: 62
Type: 4
Start: 63
End: 2047
Type: 0
Start: 2048
End: 390704370
Type: 4
Start: 390704371
End: 390717439
Type: 0 <--- partition to maximize
Start: 390717440
End: 402438236
Type: 4
Start: 402438237
End: 976760831
Type: 2
Start: 976760832
End: 1953520064
Type: 9
Start: 976760832
End: 976760894
Type: 5
Start: 976760895
End: 1953520064
Type: 8
Start: 1953520065
End: 1953525167
**** results for max geometry -- constraint any ****
Maximum geometry for partition number 2
Start: 390716865
End : 976751999
The partition has 13069 sectors or 6.7 megabytes of room
before the start and yet only gets 575 sectors from libparted.
After the end it can go to 976760832 but libparted puts
the end at only 976751999 which is 8833 sectors short or
4.5 megs off.
The results here are with a 1.0 TB drive but small drives can do the
same. I have actually seen significantly worse rsults but I haven't
been able to replicate them yet. Thank you for looking into this
issue.
More information about the parted-devel
mailing list