Comment 18 for bug 290885

Revision history for this message
Dustin Kirkland  (kirkland) wrote :

Updated patch attached for initramfs-tools.

> initramfs-tools:
> - patch changes previous changelog, and misses bug number

Fixed.

> - add_mountroot_fail_hook(): Changes behaviour of function. Please keep original function and add
> add_mountroot_fail_hook_d() or so.

Done, fixed.

> - panic(): Why the chvt 1? Boot messages are usually on VT8, and this changes behaviour of an
> existing function.

Removed.

> - panic(): Removes calling failure hooks without adding a call to the new try_failure_hooks(). Looks
> fishy and changes existing behaviour.

panic() is now un-modified. In the degraded-raid case, the hooks inside of here will simply have no effect. The degraded-raid code in mdadm will call the new add_mountroot_fail_hook_d() and try_failure_hooks() functions which should solve matters.

> - try_failure_hooks(): Unlike the code removed from panic(), this doesn't check if /tmp/mountroot-
> fail-hooks.d/ actually exists. Thus the script isn't "set -e" safe any more. Are any scripts in
> initramfs-tools relying on that and using set -e?

I added a -d check for existence of the directory.

> - try_failure_hooks(): Why stop usplash? Shouldn't code just use usplash_write to output text? (This
> is just a nitpick, and I'm okay with doing it that way)

There is some code that shows the state of available md devices using mdadm, in order to help the administrator make an informed decision as to whether or not they want to boot degraded. In order for this mdadm --detail output to be visible, as well as the [y/N] prompt, we kill usplash and switch to vt 1.

---

Thanks for the careful review, Martin. I think the attached patch should be far cleaner.

I've given it a few functional test run, in conjunction with the mdadm patch I'm about to attach. The boot-degraded functionality works as expected in the initramfs.

:-Dustin