Bug 9488 - RAID-related failures should not block startup process
: RAID-related failures should not block startup process
Status: CLOSED FIXED
: Sisyphus
(All bugs in Sisyphus/startup)
: unstable
: all Linux
: P2 blocker
Assigned To:
:
:
:
:
: 9286
  Show dependency tree
 
Reported: 2006-04-28 18:07 by
Modified: 2007-04-21 16:34 (History)


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


Note

You need to log in before you can comment on or make changes to this bug.


Description From 2006-04-28 18:07:18
/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 From 2006-04-28 18:40:33 -------
Created an attachment (id=1471) [details]
Мой вариант заплатки на rc.sysinit
------- Comment #2 From 2006-04-30 01:26:04 -------
С идеей согласен.

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

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

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

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

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