Re: SOFTWARE_SUSPEND as a module

Herbert Xu
2004-04-23T09:38:49Z

On Fri, Apr 23, 2004 at 02:56:18AM +0200, Pavel Machek wrote:
>
> I can't see actual code changes because you do lots of renames... Is
> there way to keep them down?

Well I haven't really changed the code at all apart from the bits
to do with module loading and parsing the device name for resume.

What I've done is:

* Split swsusp.c into swsusp-core.c and the rest based on whether it
is called by do_magic() or not.
* Added EXPORTs for the symbols needed by what's left of swsusp.
* Added module parameter parsing.

The renames are part of the second step as the symbols
resume_device/suspend_name/resume_Name were too generic.

> What is the point of this? Do you want launch resume after you

The point of this is to allow inclusion in distribution kernels where
block devices are built as modules.

As a side-effect it also allows you to resume from devices that couldn't
be done before due to the need for user-space setup. Examples are LVM
and NBD.

> prepared for it in userland? In such case you need to add
> freeze_processes() to resume path.

Is that really necessary if the user-space caller ensures that all
disk accesses are shut down? After all the loading for resume will
occur in the initrd before any disk activity has occured.

Cheers,
--
Debian GNU/Linux 3.0 is out! ( http://www.debian.org/ )
Email: Herbert Xu ~{PmV>HI~} <herbert@gondor.apana.org.au>
Home Page: http://gondor.apana.org.au/~herbert/
PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt