Bug 25928 - [FR] autopartition should be happy with minimal sizes from profile
Summary: [FR] autopartition should be happy with minimal sizes from profile
Status: NEW
Alias: None
Product: Sisyphus
Classification: Development
Component: alterator-vm (show other bugs)
Version: unstable
Hardware: all Linux
: P3 enhancement
Assignee: Олег Соловьев
QA Contact: qa-sisyphus
URL: http://lists.altlinux.org/pipermail/d...
Keywords:
Depends on:
Blocks:
 
Reported: 2011-07-20 00:24 MSK by Michael Shigorin
Modified: 2011-07-20 20:33 MSK (History)
1 user (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Michael Shigorin 2011-07-20 00:24:29 MSK
Выпиливая installer-feature-vm-altlinux-generic, напоролся на то, что профиль, который вроде бы должен при выборе минимумов спокойно укладываться в 8G диска (0.5+1+2 = 3.5) -- не влазит (похоже, что 0.75+8+?).

Какой физический смысл min, если берётся будто бы max?

gb=$((1048576*2))
ram=$(($(sed -n '/^MemTotal:/ s/[^0-9]//pg' /proc/meminfo)*2))  # полгига
root=$((4*$gb))
home=$((2*$gb))

>((generic
>  (title . "Generic setup")
>  (action . trivial)
>  (actiondata  ("swap" (size $ram . $(($ram*3/2))) (fsim . "SWAPFS") (methods raid plain))
>               ("/" (size $(($root/4)) . $(($root*2))) (fsim . "Ext2/3") (methods raid plain))
>               ("/home" (size $home . #t) (fsim . "Ext2/3") (methods raid plain)))))

Гайки-то подкрутил, но хотелось бы на вики описать по мотивам писем в devel-distro@ так, чтоб другим не приходилось выяснять заново, что такое min и max.
Comment 1 Sergey Bolshakov 2011-07-20 16:30:14 MSK
min и max имеют следующий смысл:
при поиске среди свободных мест на дисках кандидата для размещения
очередного раздела выбираются все, размером не меньшие чем min,
затем на таком месте создаётся раздел не больше, чем max.
таким образом, на единственном пустом диске есть вероятность
неуспеха, если сумма всех max больше, чем его объём.
Comment 2 Michael Shigorin 2011-07-20 19:27:01 MSK
Спасибо.  А много мороки добавить такой финт ушами?

0) примеряем схему разбивки
1) если успех, goto разбиваем
2) уменьшаем каждый max до (min+max)/2
3) если сумма уменьшений больше delta (пусть 100M), goto (1), иначе fail

Думаю, это несколько более универсально, чем хак с пропорцией, хотя и не симплекс-метод ;-)
Comment 3 Sergey Bolshakov 2011-07-20 20:33:17 MSK
проблема в основном в 1) примеряем ..., поскольку надёжно примерить
равно собственно разбить, за исключением, может быть, коммита.
бишь, нынешняя схема неизящна, мягко говоря, но по крмере работает.