Bug 9488 - RAID-related failures should not block startup process
Summary: RAID-related failures should not block startup process
Status: CLOSED FIXED
Alias: None
Product: Sisyphus
Classification: Development
Component: startup (show other bugs)
Version: unstable
Hardware: all Linux
: P2 blocker
Assignee: Alexey Gladkov
QA Contact: qa-sisyphus
URL:
Keywords:
Depends on:
Blocks: 9286
  Show dependency tree
 
Reported: 2006-04-28 18:07 MSD by evseev
Modified: 2007-04-21 16:34 MSD (History)
10 users (show)

See Also:


Attachments
Мой вариант заплатки на rc.sysinit (1.30 KB, patch)
2006-04-28 18:40 MSD, evseev
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description evseev 2006-04-28 18:07:18 MSD
/etc/rc.d/rc.sysinit проверяет код возврата /etc/rc.d/scripts/raidstart и
вываливается в шелл, если вернулся не ноль. Однако есть ситуации, когда такое
поведение неверно:

1) если RAID на компьютере отсутствует вообще,
2) если один из дисков в RAID-разделе сбоит, но раздел всё равно сохраняет
работоспособность,
3) если сбойный раздел не нужен для загрузки системы (например, /home - т.е. всё
, кроме /, /usr и /var)

Во всех этих случаях mdadm вернёт ненулевое значение, но загрузка всё равно была
бы успешной. К сожалению, коды возврата mdadm не упорядочены, поэтому их можно
проверять только на "ноль-не ноль".

Возможно, вместо нынешнего безусловного запуска шелла было бы уместнее выводить
ругань и минуту ждать нажатия Enter. Если в течение минуты Enter нажат -
запускать шелл, если не нажат - продолжать загрузку. В качестве дополнительных
изысков можно ввести в /etc/sysconfig/init и/или /proc/cmdline параметр
onraiderror=ignore|stop (если ни того, ни другого нет - считается ask).
Steps to Reproduce:
1. apt-get install mdadm
2. reboot
Actual Results:  
Dropping to shell :-(

Expected Results:  
Normal startup! :-)
Comment 1 evseev 2006-04-28 18:40:33 MSD
Created attachment 1471 [details]
Мой вариант заплатки на rc.sysinit
Comment 2 Dmitry V. Levin 2006-04-30 01:26:04 MSD
С идеей согласен.

Патч в неизменном виде, к сожалению, не заработает, поскольку я не знаю что
такое sulogin_reboot, да и английский в прежнем тексте был получше.

А как лучше назвать новый параметр в /etc/sysconfig/init?
Comment 3 evseev 2006-04-30 06:27:23 MSD
> Патч в неизменном виде, к сожалению, не заработает,
> поскольку я не знаю что такое sulogin_reboot,
Это я хотел вынести sulogin и reboot в отдельную функцию,
потом перехотел, но забыл убрать её вызов.
Патч, к сожалению, заработает даже в неизменном виде,
поскольку вызов стоит уже после 'reboot -f'.

> да и английский в прежнем тексте был получше.
На совершенный английский я и не претендую,
поскольку изучил его самоучкой уже после школы.

> А как лучше назвать новый параметр в /etc/sysconfig/init?
Также, как и в /proc/cmdline: onraiderror.
Я счёл, что /proc/cmdline будет вполне достаточно.
С /etc/sysconfig/init проверки слишком усложняются,
хотя, если электорат возжаждет, то выдадим.
Comment 4 Nick S. Grechukh 2006-06-11 08:11:52 MSD
ну почините, ну пожалуйста
Comment 5 Sergey Vlasov 2006-08-07 19:17:07 MSD
Кстати, "recent breakage of starting degraded arrays", якобы исправленное в
mdadm 2.5.3, не имеет к этому отношения?

http://permalink.gmane.org/gmane.linux.raid/12762
Comment 6 Dmitry V. Levin 2006-08-11 03:12:58 MSD
Патч приложен с косметическими изменениями в 0.9.8.5.