/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! :-)
Created attachment 1471 [details] Мой вариант заплатки на rc.sysinit
С идеей согласен. Патч в неизменном виде, к сожалению, не заработает, поскольку я не знаю что такое sulogin_reboot, да и английский в прежнем тексте был получше. А как лучше назвать новый параметр в /etc/sysconfig/init?
> Патч в неизменном виде, к сожалению, не заработает, > поскольку я не знаю что такое sulogin_reboot, Это я хотел вынести sulogin и reboot в отдельную функцию, потом перехотел, но забыл убрать её вызов. Патч, к сожалению, заработает даже в неизменном виде, поскольку вызов стоит уже после 'reboot -f'. > да и английский в прежнем тексте был получше. На совершенный английский я и не претендую, поскольку изучил его самоучкой уже после школы. > А как лучше назвать новый параметр в /etc/sysconfig/init? Также, как и в /proc/cmdline: onraiderror. Я счёл, что /proc/cmdline будет вполне достаточно. С /etc/sysconfig/init проверки слишком усложняются, хотя, если электорат возжаждет, то выдадим.
ну почините, ну пожалуйста
Кстати, "recent breakage of starting degraded arrays", якобы исправленное в mdadm 2.5.3, не имеет к этому отношения? http://permalink.gmane.org/gmane.linux.raid/12762
Патч приложен с косметическими изменениями в 0.9.8.5.