From: Nigel Cunningham <ncunningham@cyclades.com>
To: Matthew Garrett <mgarrett@chiark.greenend.org.uk>
Cc: Linux Kernel Mailing List <linux-kernel@vger.kernel.org>
Subject: Re: Suspend-to-disk woes
Date: Mon, 21 Mar 2005 16:59:26 +1100 [thread overview]
Message-ID: <1111384766.9720.144.camel@desktop.cunningham.myip.net.au> (raw)
In-Reply-To: <E1DDAcH-0002n5-00@chiark.greenend.org.uk>
Hi.
On Mon, 2005-03-21 at 11:17, Matthew Garrett wrote:
> Nigel Cunningham <ncunningham@cyclades.com> wrote:
>
> > Yuck! Why panic when you know what is needed? A better solution is to
> > tell the user they've messed up and given them the option to (1) reboot
> > and try another kernel or (2) have swsusp restore the original swap
> > signature and continue booting. This is what suspend2 does (with a
> > timeout for the prompt). It's not that hard.
>
> It's trivial to do this in userspace - just have an app in initramfs
> that checks for a swsusp signature, and then compare the kernel
> versions. If they mismatch, prompt for what to do. Putting it in the
> kernel is madness.
It's not that trivial.
- You need to know how to modify your initramfs to do it;
- You might have to (learn how to) set up an initramfs just for this;
- Your image might not be stored in a swap partition. For Suspend2, it
can potentially in a swap file or (soon) an ordinary file;
- Finding which partition to look in for the signature might be non
trivial (labels in fstab). You'd want to hard code it or (perferably)
copy a config file from the root (or other) partition;
- Having addressed the above issues, you still need to add code to read
the swap header, parse it to find the header, read the header from the
image, parse it and obtain the kernel version of the saved image.
If your image is not stored in a swap partition, you probably can't
mount the fs the image is stored on, because doing so will replay the
image and make resuming unsafe, so this approach is less trivial without
knowing exactly which disk blocks and device IDs to use (and using dd to
access them).
On top of these, we have two implementations, so you'll want to check
for the signatures of both.
That said, I am considering making something like what you're saying:
exposing methods of testing whether an image exists and an entry through
which you can get Suspend to erase an image via a proc (eventually
sysfs) entry. This will allow something like what you're saying to be
controlled from userspace.
Regards,
Nigel
--
Nigel Cunningham
Software Engineer, Canberra, Australia
http://www.cyclades.com
Bus: +61 (2) 6291 9554; Hme: +61 (2) 6292 8028; Mob: +61 (417) 100 574
Maintainer of Suspend2 Kernel Patches http://suspend2.net
next prev parent reply other threads:[~2005-03-21 5:57 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-03-18 16:28 Erik Andrén
2005-03-18 17:54 ` Stefan Seyfried
2005-03-18 22:04 ` Nigel Cunningham
2005-03-19 13:26 ` Pavel Machek
2005-03-19 20:20 ` Russell Miller
2005-03-19 21:29 ` Pavel Machek
2005-03-19 21:44 ` Russell Miller
2005-03-21 0:14 ` Nigel Cunningham
2005-03-21 0:17 ` Matthew Garrett
2005-03-21 5:59 ` Nigel Cunningham [this message]
2005-03-21 9:33 ` Stefan Seyfried
2005-03-21 21:38 ` Nigel Cunningham
2005-03-21 7:38 ` Stefan Seyfried
2005-03-21 11:23 ` Nigel Cunningham
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1111384766.9720.144.camel@desktop.cunningham.myip.net.au \
--to=ncunningham@cyclades.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mgarrett@chiark.greenend.org.uk \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®