[Bug 1197766] Re: Different partition layout after recovery with keep home partition
Launchpad Bug Tracker
1197766 at bugs.launchpad.net
Fri Nov 29 11:17:56 UTC 2013
** Branch linked: lp:~ubuntu-installer/ubiquity/precise-proposed
--
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to partman-auto in Ubuntu.
https://bugs.launchpad.net/bugs/1197766
Title:
Different partition layout after recovery with keep home partition
Status in OEM Priority Project:
Confirmed
Status in OEM Priority Project precise series:
New
Status in “partman-auto” package in Ubuntu:
Fix Released
Status in “ubiquity” package in Ubuntu:
Fix Released
Status in “partman-auto” source package in Precise:
Fix Committed
Status in “ubiquity” source package in Precise:
New
Bug description:
When using ubuntu-recovery to recover the system,
The partition layout is different when keeping home partition.
consider disk-recipe:
100 150 200 free
$iflabel{ gpt }
$reusemethod{ }
method{ efi }
format{ } .
128 512 256 ext2
$defaultignore{ }
method{ format }
format{ }
use_filesystem{ }
filesystem{ ext2 }
mountpoint{ /boot } .
32000 10000 32000 $default_filesystem
$lvmok{ }
method{ format }
format{ }
use_filesystem{ }
reserved_for_root{ 1 }
$default_filesystem{ }
mountpoint{ / } .
8000 512 8000 linux-swap
$lvmok{ }
method{ swap }
format{ } .
500 10000 -1 $default_filesystem
$lvmok{ }
$reusemethod{ }
method{ format }
format{ }
use_filesystem{ }
$default_filesystem{ }
label{ User_Data }
mountpoint{ /home } .
In this case, we want to build this layout in a 320G hard disk and keep the home partition.
If we recover system WITHOUT keeping home partition, the partition layout looks like:
Model: ATA ST320LT012-9WS14 (scsi)
Disk /dev/sda: 320072933376B
Sector size (logical/physical): 512B/4096B
Partition Table: gpt
Number Start End Size File system Name Flags
17408B 20479B 3072B Free Space
1 20480B 99999743B 99979264B fat32 EFI System Partition boot
2 99999744B 4100001791B 4000002048B fat32 Recovery Partition
3 4100001792B 36100001791B 32000000000B ext4
4 36100001792B 44100001791B 8000000000B linux-swap(v1)
5 44100001792B 320072916479B 275972914688B ext4 Ubuntu Home Partition
But if we recovery system WITH keeping home partition, the partition layout looks like:
Model: ATA ST320LT012-9WS14 (scsi)
Disk /dev/sda: 320072933376B
Sector size (logical/physical): 512B/4096B
Partition Table: gpt
Number Start End Size File system Name Flags
17408B 20479B 3072B Free Space
1 20480B 99999743B 99979264B fat32 EFI System Partition boot
2 99999744B 4100001791B 4000002048B fat32 Recovery Partition
4 4100001792B 42073001983B 37973000192B ext4
6 42073001984B 44100001791B 2026999808B linux-swap(v1)
5 44100001792B 320072916479B 275972914688B ext4 Ubuntu Home Partition
The behavior is abnormal.
According to my test, partman thinks the necessary space is
100+32000+8000 while the home partition is kept. And I discovered that
partman knows EFI partition has $reusemethod option and the partition
exists but it still adds the partition size to total. So the total
need (40100m) is not equal to total free (40000M) and then partman use
alternative recipe instead. This is the root cause of why partition
layout is different.
------------------------------------------------------------------------------------------------------
recipe.sh line: 187~ 209
foreach_partition () {
local - doing IFS pcount last partition
doing=$1
pcount=$(echo "$scheme" | wc -l)
last=no
IFS="$NL"
for partition in $scheme; do
restore_ifs
[ $pcount -gt 1 ] || last=yes
set -- $partition
eval "$doing"
pcount=$(($pcount - 1))
done
}
min_size () {
local size
size=0
foreach_partition '
size=$(($size + $1))'
echo $size
}
These codes are used for calculate total recipe size, and I can't find
any expression deals with $reusemethod.
To manage notifications about this bug go to:
https://bugs.launchpad.net/oem-priority/+bug/1197766/+subscriptions
More information about the foundations-bugs
mailing list