Package: fai-setup-storage Version: 3.4.8 Severity: normal Tags: patch hello -
when trying to use a gpt-bios disklabel on a 3tb drive a 0-100% allocation uses much less than the whole disk. i'm running fai 3.4.8; i also upgraded (just) the fai-setup-storage pkg in the live nfsroot to 4.0~beta3 +experimental7 (setup-storage 1.3+exp) but saw the same result. excerpt from disk_config: disk_config sda disklabel:gpt-bios align-at:4K primary - 0-100% - - excerpt from the format.log: Executing: parted -s /dev/sda mklabel gpt Executing: parted -s /dev/sda mkpart primary "" 1069056B 1901081333759B Executing: parted -s /dev/sda mkpart primary "" 17408B 1065983B it identifies the disk and its size correctly (3000592961535B per `setup-storage -d`). when i started poking around Sizes.pm, it looks like the values in $FAI::partition_pointer->{size}->{range} for the bios_grub partition are run through the make_range function twice. the first time is in compute_partition_sizes where the range of "1-1" is converted from bytes to megabytes. the second time is in do_partition_real. so the range that goes in this second time is (1 * 1024 * 1024) and the min_size variable that comes out is (1 * 1024 * 1024 * 1024 * 1024) = 1099511627776B. and 3000592961535B - 1099511627776B = 1901081333759B, which is what i was seeing above. a workaround appears to be the attaached one-line patch to keep the range in megabytes. i didn't notice any adverse effects and the installation completed as expected. thank you! andy -- System Information: Debian Release: wheezy/sid APT prefers testing APT policy: (990, 'testing') Architecture: amd64 (x86_64) Kernel: Linux 3.0.0-1-amd64 (SMP w/2 CPU cores) Locale: LANG=en_US.utf8, LC_CTYPE=en_US.utf8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/dash Versions of packages fai-setup-storage depends on: ii liblinux-lvm-perl 0.16-1 ii libparse-recdescent-perl 1.967006+dfsg-1 ii parted 2.3-8 ii perl 5.12.4-6 Versions of packages fai-setup-storage recommends: ii lvm2 2.02.88-1 ii mdadm 3.2.3-2 Versions of packages fai-setup-storage suggests: pn cryptsetup 2:1.3.0-3 pn dmsetup 2:1.02.67-1 pn dosfstools 3.0.12-1 pn jfsutils <none> pn ntfs-3g [ntfsprogs] 1:2011.4.12AR.7-1 pn reiserfsprogs <none> pn xfsprogs <none> -- no debconf information
--- ./Sizes.pm.orig 2012-02-23 18:37:03.388348728 -0800 +++ ./Sizes.pm 2012-02-23 18:36:49.028344316 -0800 @@ -651,7 +651,7 @@ (&FAI::phys_dev($FAI::partition_pointer_dev_name))[2]; my ($s, $e) = &FAI::make_range("1-1", $current_disk->{size} . "B"); # enter the range into the hash - $FAI::partition_pointer->{size}->{range} = "$s-$s"; + $FAI::partition_pointer->{size}->{range} = "1-1"; # retain the free space at the beginning and fix the position $FAI::partition_pointer->{start_byte} = $next_start; $FAI::partition_pointer->{end_byte} = $next_start + $s - 1;