Re: Suspend 2 merge: 9/51: init/* changes.

Nigel Cunningham
2004-11-26T23:34:49Z

Hi.

On Fri, 2004-11-26 at 04:07, Pavel Machek wrote:
> Hi!
>
> > 1) Make name_to_dev_t non init. Why should you need to reboot if all you
> > want to do is change the device you're using to suspend? That's M_'s way
>
> Well, if you change it using /proc and forget to change kernel cmd line, you'll have
> a problem. Do you really change this so often?

It's mostly used when setting up a new installation, and when attempting
LVM support. It's particularly useful in the later case because you can
swap off and so on, prepare your new LVM volume, prepare swap on it, do
the echo > resume2 and then check dmesg, and be assured that you've got
the right setup, all without needing to reboot. In the case of a new
config, you still need to reboot once, of course, into the new kernel,
but if you get the resume2= parameter wrong, you don't have to waste
time rebooting just because of a typo. You can just fix your lilo.conf
(or equiv) and use echo > resume2 to fix the mistake.

> And if you really want to make it changeable, pass major:minor from userland; once
> userland is running getting them is easy.

Yes, but that's also far uglier, and who thinks in terms of major and
minor numbers anyway? I think of my harddrive as /dev/sda, not 08:xx.
The parsing accepts majors and minors, of course, but shouldn't we make
these things easier to do, not harder? (Would we insist on using majors
and minors for root=?).

> > 2) Hooks for resuming. Suspend2 functionality can be compiled as modules
> > or built in. Resuming can be activated via an initrd. These hooks allow
> > for all of the combinations of the above. Allowing resuming from within
> > an initrd is important because then you can set up LVM volumes
> > (including encrypted devices), compile drivers for your resume device as
> > modules and so on.
>
> Hmm , this will need a lot of testing and a lot of care... You for example
> mah not write to your fs's before activating it. And if you use this feature,
> kernel no longer has chance to kill suspend signature on normal boot,
> making "shoot(self, foot)" easier.

It has had it. We do rely on the user to make a sensible linuxrc/init,
but there are examples and warnings given in the docs on Berlios, and
plenty of checking done. We have to take the risk anyway: without it, we
can't support Debian (ide support built as modules), LVM (needs to set
up mappings in an initrd) or encrypted storage (ditto).

> But for encrypted stuff it is probably only way to go, so... Just
> make sure people are not using it unless they *have* to.

See above.

Regards,

Nigel
--
Nigel Cunningham
Pastoral Worker
Christian Reformed Church of Tuggeranong
PO Box 1004, Tuggeranong, ACT 2901

You see, at just the right time, when we were still powerless, Christ
died for the ungodly. -- Romans 5:6