[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#411943: partman-lvm: inconsistent usage of unit symbols for decimal and binary multiples



Package: partman-lvm
Version: 50
Severity: important

Hi!

I'm again trying to configure an LVM partitioning in a virgin disk on the
same brand new machine, as described in bug#411586.

I'm using the CD labeled as:

     Debian GNU/Linux testing "Etch" - Official Snapshot amd64 NETINST
   Binary-1 20070218-08:47

that is to say
http://cdimage.debian.org/cdimage/daily-builds/daily/arch-latest/amd64/iso-cd/debian-testing-amd64-netinst.iso

Using the textual user interface debian-installer, I reach the partitioning
stage.
I choose the partitioning method called "Manual".
The next screen displays the current disk partition table:

|  SCSI3 (0,0,0) (sda) - 250.1 GB ATA MAXTOR STM325082
|           pri/log  250.1 GB     FREE SPACE

So far so good.  I select the free space line and choose "Create a new
partition" from the dialog screen, enter 250 MB as partition size, choose
"Primary" as partition type, ask that the partition be created at the
beginning of the available space, change the mount point to /boot, and
set the bootable flag to "on".
After choosing "Done setting up the partition", I get back to the
partition table screen, with the following updated status:

|  SCSI3 (0,0,0) (sda) - 250.1 GB ATA MAXTOR STM325082
|        #1 primary  246.7 MB B f ext3       /boot
|           pri/log  249.8 GB     FREE SPACE

I again select the free space line and choose "Create a new partition",
enter "max" as partition size, choose "Logical" as partition type, and
change the "Use as" entry to "physical volume for LVM".
After choosing "Done setting up the partition", I get back to the
partition table screen, with the following updated status:

|  SCSI3 (0,0,0) (sda) - 250.1 GB ATA MAXTOR STM325082
|        #1 primary  246.7 MB B f ext3       /boot
|        #5 logical  249.8 GB   K lvm

I choose "Configure the Logical Volume Manager" and confirm to write
the partition table.
The next screen allows me to configure the LVM: I choose "Create volume
group", and enter the hostname as volume group name.  I select /dev/sda5
for the new volume group.
Back to the LVM configuration menu: I choose "Create logical volume"
and select the only possible volume group.
I enter "home" as logical volume name and get to the logical volume
size screen: the size field initially displays "249808MB" which seems
to be the correct maximum allowed size for this new logical volume.
That "MB" seems to mean megabyte, that is to say 10^6 byte.
OK: I want this logical volume to have a size of 232.8 Gbyte,
(i.e.: 232.8 * 10^9 byte), hence I enter "232800MB".
Everything seems to go OK, as I'm back to the LVM configuration menu.
But, if I choose "Display configuration details" I see something very
worrying:

| Unallocated physical volumes:
|   * none
|
| Volumes groups:
|   * hostname                                 (249808MB)
|     - Uses physical volume:     /dev/sda5    (249808MB)
|     - Provides logical volume:  home         (244108MB)

What?!? 244.108 Gbyte for my home lv?!?
I didn't asked for such a huge lv!
Now I have too little space for the other logical volumes!
Indeed, if I try to create a second lv, I see that only 5700 Mbyte are
usable, while I wanted to have about 17 Gbyte ...
I go back to the LVM configuration menu and delete the home lv.
Let's try again: "Create logical volume".
Again I enter "home" as lv name and again I get 249808MB as maximum size.
I notice that the help text says the possible formats are 10K, 10M, 10G,
10T and that the default unit is Megabytes.
I try with "232800M" and I again get "244108MB" !
OK, delete and recreate...
I try with "232.8GB" and I get an error message stating:

|           Error while creating a new logical volume
| Unable to create a new logical volume (home) on hostname with the new
| size 0.
|
| Check /var/log/syslog or see virtual console 4 for the details.

Virtual console 4 says:

| partman-lvm: Insufficient free extents (59559) in volume group hostname: 59597 required
| partman-lvm:
| partman-lvm:   Rounding up size to full physical extent 232.80 GB

OK, try again: if I enter "232800" with no unit, I should get 232800 Mbyte,
right?  No, I again get 244108 Mbyte !


Now I notice something suspicious:

 232800 * 2^20 byte = 244108492800 byte =~ 244108 Mbyte
 232.8 * 2^30 byte =~ 249967096627.2 byte > 249808 Mbyte
 
There seems to be a big mess on binary and decimal prefixes for units.
This is a serious usability issue: the interface uses the same symbol
(e.g.: "MB") for different meanings (Mebibyte = 2^20 byte
and  Megabyte = 10^6 byte) and thus heavily confuses the user.

Please fix this big inconsistency: switch to decimal multiples for
everything in partman.
Hard disk vendors describe disk capacities using decimal multiples
of the byte unit (1 kbyte = 10^3 byte, 1 Mbyte = 10^6 byte,
1 Gbyte = 10^9 byte, ...) and partman should speak consistently.



P.S.:
I set the severity of this bug to "important" bug, since it has a major
effect on the usability of a package, but I strongly believe that etch
debian-installer should *not* be released with such a usability issue.
Feel free to raise the severity as appropriate.



Reply to: