From: Pavel Machek <pavel@ucw.cz>
To: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Nigel Cunningham <nigel@nigel.suspend2.net>,
Pekka Enberg <penberg@cs.helsinki.fi>,
LKML <linux-kernel@vger.kernel.org>
Subject: Re: Back to the future.
Date: Fri, 27 Apr 2007 00:42:56 +0200 [thread overview]
Message-ID: <20070426224256.GB21926@elf.ucw.cz> (raw)
In-Reply-To: <alpine.LFD.0.98.0704260941310.9964@woody.linux-foundation.org>
Hi!
> I'd really suggest _just_ the "full image". Nothing else is probably ever
> worth supporting. Your "snapshot to disk" wouldn't be _quite_ as simple as
> "echo disk > /sys/power/state", but it should not necessarily be much
> worse than
>
> snapshot_kernel | gzip -9 > /dev/snapshot
Yep, we "freeze too much", so we can't just use the shell and pipe
it. Too bad.
218 int write_image(char *resume_dev_name)
219 {
220 static struct swap_map_handle handle;
221 struct swsusp_info *header;
222 unsigned long start;
223 int fd;
224 int error;
225
226 fd = open(resume_dev_name, O_RDWR | O_SYNC);
227 if (fd < 0) {
228 printf("suspend: Could not open resume device\n");
229 return error;
230 }
231 error = read(dev, buffer, PAGE_SIZE);
232 if (error < PAGE_SIZE)
233 return error < 0 ? error : -EFAULT;
234 header = (struct swsusp_info *)buffer;
235 if (!enough_swap(header->pages)) {
236 printf("suspend: Not enough free swap\n");
237 return -ENOSPC;
238 }
239 error = init_swap_writer(&handle, fd);
240 if (!error) {
241 start = handle.cur_swap;
242 error = swap_write_page(&handle, header);
243 }
244 if (!error)
245 error = save_image(&handle, header->pages - 1);
246 if (!error) {
247 flush_swap_writer(&handle);
248 printf( "S" );
249 error = mark_swap(fd, start);
250 printf( "|\n" );
251 }
252 fsync(fd);
253 close(fd);
254 return error;
255 }
This is basically the loop above, made complex by the fact that we do
not want to have separate partition for snapshot; we just want to
reuse free space in swap partition.
I think you've just invented uswsusp.
Pavel
--
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html
next prev parent reply other threads:[~2007-04-26 22:43 UTC|newest]
Thread overview: 136+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-04-26 6:04 Back to the future Nigel Cunningham
2007-04-26 7:28 ` Pekka Enberg
[not found] ` <1177573348.50 25.224.camel@nigel.suspend2.net>
2007-04-26 7:42 ` Nigel Cunningham
2007-04-26 8:17 ` Pekka Enberg
2007-04-26 9:28 ` Nigel Cunningham
2007-04-26 17:29 ` Luca Tettamanti
2007-04-26 16:56 ` Linus Torvalds
2007-04-26 17:03 ` Xavier Bestel
2007-04-26 17:34 ` Linus Torvalds
2007-04-26 20:08 ` Nigel Cunningham
2007-04-26 20:45 ` Linus Torvalds
2007-04-26 20:50 ` Nigel Cunningham
2007-04-27 0:10 ` Olivier Galibert
2007-04-27 10:21 ` Daniel Pittman
2007-04-27 23:19 ` Nigel Cunningham
2007-04-26 21:38 ` Theodore Tso
2007-04-27 10:10 ` Christoph Hellwig
2007-04-26 22:08 ` Rafael J. Wysocki
2007-04-26 22:20 ` Nigel Cunningham
2007-04-26 23:15 ` Linus Torvalds
2007-04-27 7:51 ` Pekka Enberg
2007-04-26 17:07 ` Linus Torvalds
2007-04-26 18:22 ` Chase Venters
2007-04-26 18:50 ` David Lang
2007-04-26 19:56 ` Nigel Cunningham
2007-04-27 4:52 ` Pekka J Enberg
2007-04-27 6:08 ` Nigel Cunningham
2007-04-27 6:18 ` Pekka J Enberg
2007-04-27 6:29 ` Pekka J Enberg
2007-04-27 6:34 ` Nigel Cunningham
2007-04-27 6:50 ` Pekka J Enberg
2007-04-27 7:03 ` Nigel Cunningham
2007-04-27 7:24 ` Pekka J Enberg
2007-04-27 9:50 ` Oliver Neukum
2007-04-27 10:12 ` Pekka J Enberg
2007-04-27 19:07 ` Oliver Neukum
2007-04-28 9:22 ` Pekka Enberg
2007-04-28 13:37 ` Oliver Neukum
2007-05-03 12:06 ` Pavel Machek
2007-05-04 21:52 ` Indan Zupancic
2007-05-05 9:16 ` Pavel Machek
2007-05-05 12:02 ` Indan Zupancic
2007-04-28 10:35 ` Rafael J. Wysocki
2007-04-28 18:43 ` David Lang
2007-04-28 19:37 ` Rafael J. Wysocki
2007-04-27 21:24 ` Rafael J. Wysocki
2007-04-27 21:44 ` Linus Torvalds
2007-04-27 22:04 ` Rafael J. Wysocki
2007-04-27 22:08 ` Linus Torvalds
2007-04-27 22:41 ` Rafael J. Wysocki
2007-04-27 22:26 ` David Lang
2007-04-27 23:21 ` Rafael J. Wysocki
2007-04-27 23:01 ` David Lang
2007-04-28 0:02 ` Rafael J. Wysocki
2007-04-27 23:17 ` Linus Torvalds
2007-04-27 23:45 ` Rafael J. Wysocki
2007-04-27 23:57 ` Nigel Cunningham
2007-04-27 23:50 ` David Lang
2007-04-28 0:40 ` Linus Torvalds
2007-04-28 6:58 ` Oliver Neukum
2007-04-28 9:16 ` Pekka J Enberg
2007-04-28 18:28 ` David Lang
2007-05-03 17:18 ` Pavel Machek
2007-05-07 2:13 ` David Lang
2007-05-07 3:33 ` Kyle Moffett
2007-05-07 12:48 ` Pavel Machek
2007-05-07 12:52 ` Oliver Neukum
2007-05-07 14:37 ` david
2007-05-07 19:51 ` Pavel Machek
2007-05-07 19:55 ` david
2007-05-07 20:38 ` Pavel Machek
2007-05-08 17:36 ` Disconnect
2007-04-27 23:59 ` Linus Torvalds
2007-04-28 0:18 ` Linus Torvalds
2007-05-05 11:42 ` Pavel Machek
2007-04-28 0:50 ` Paul Mackerras
2007-04-28 1:00 ` Rafael J. Wysocki
2007-04-28 1:12 ` Linus Torvalds
2007-04-28 0:54 ` David Lang
2007-04-28 1:44 ` Rafael J. Wysocki
2007-04-28 2:51 ` Daniel Hazelton
2007-04-28 7:00 ` progress meter in s2disk (was Re: Back to the future.) Pavel Machek
2007-04-28 8:50 ` Back to the future Pavel Machek
2007-04-28 9:24 ` Rafael J. Wysocki
2007-04-28 16:28 ` Linus Torvalds
2007-04-28 17:50 ` Rafael J. Wysocki
2007-04-28 21:25 ` Linus Torvalds
2007-04-28 23:03 ` Rafael J. Wysocki
2007-04-28 23:45 ` Linus Torvalds
2007-04-29 0:01 ` Nigel Cunningham
2007-04-29 5:01 ` Bojan Smojver
2007-04-29 3:43 ` Kyle Moffett
2007-04-29 8:57 ` Rafael J. Wysocki
2007-04-29 8:59 ` Pavel Machek
2007-04-29 9:32 ` Rafael J. Wysocki
2007-04-29 8:23 ` Pavel Machek
2007-04-29 9:22 ` Rafael J. Wysocki
2007-04-28 18:32 ` David Lang
2007-04-28 19:14 ` Rafael J. Wysocki
2007-04-28 18:44 ` David Lang
2007-05-03 15:25 ` Pavel Machek
2007-04-27 22:07 ` Nigel Cunningham
2007-04-28 1:03 ` Kyle Moffett
2007-04-28 1:15 ` Rafael J. Wysocki
2007-04-28 0:51 ` David Lang
2007-04-28 1:25 ` Kyle Moffett
2007-05-03 15:10 ` Pavel Machek
2007-05-03 16:53 ` Kyle Moffett
2007-05-04 7:52 ` David Greaves
2007-05-04 13:27 ` Kyle Moffett
2007-04-28 0:18 ` Jeremy Fitzhardinge
2007-04-28 1:00 ` Matthew Garrett
2007-04-28 1:05 ` Jeremy Fitzhardinge
2007-05-03 15:14 ` Pavel Machek
2007-06-01 19:00 ` Eric W. Biederman
2007-04-28 1:08 ` Rafael J. Wysocki
2007-04-27 20:44 ` Rafael J. Wysocki
2007-04-28 19:09 ` Bill Davidsen
2007-04-26 22:40 ` Pavel Machek
2007-04-27 5:41 ` Pekka Enberg
2007-04-27 14:55 ` Pavel Machek
2007-04-27 21:39 ` Nigel Cunningham
2007-04-26 22:42 ` Pavel Machek [this message]
2007-04-26 22:24 ` David Lang
2007-04-26 23:12 ` Pavel Machek
2007-04-26 22:49 ` David Lang
2007-04-26 23:27 ` Pavel Machek
2007-04-26 22:56 ` David Lang
2007-04-27 0:23 ` Olivier Galibert
2007-04-27 12:49 ` Pavel Machek
2007-04-27 21:26 ` Rafael J. Wysocki
2007-04-27 22:12 ` David Lang
2007-04-26 8:38 ` Jan Engelhardt
2007-04-26 9:33 ` Nigel Cunningham
2007-04-28 0:28 ` Bojan Smojver
[not found] <8e5l8-7SD-21@gated-at.bofh.it>
[not found] ` <8e6Ka-1uR-3@gated-at.bofh.it>
[not found] ` <8e6TS-1Id-11@gated-at.bofh.it>
[not found] ` <8efu9-6mF-1@gated-at.bofh.it>
[not found] ` <8ekWV-6FF-33@gated-at.bofh.it>
[not found] ` <8el6y-6Sj-5@gated-at.bofh.it>
[not found] ` <8elpT-7wY-21@gated-at.bofh.it>
2007-04-28 11:04 ` Bodo Eggert
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=20070426224256.GB21926@elf.ucw.cz \
--to=pavel@ucw.cz \
--cc=linux-kernel@vger.kernel.org \
--cc=nigel@nigel.suspend2.net \
--cc=penberg@cs.helsinki.fi \
--cc=torvalds@linux-foundation.org \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.