Messages in this thread | | | From | "Rafael J. Wysocki" <> | Subject | Re: Suspend to disk: do we HAVE to use swap? | Date | Tue, 31 Oct 2006 22:18:17 +0100 |
| |
On Tuesday, 31 October 2006 21:15, Luca Tettamanti wrote: > Il Tue, Oct 31, 2006 at 08:19:37PM +0100, Rafael J. Wysocki ha scritto: > > On Tuesday, 31 October 2006 20:05, Alistair John Strachan wrote: > > > On Tuesday 31 October 2006 17:40, Luca Tettamanti wrote: > > > > Alistair John Strachan <s0348365@sms.ed.ac.uk> ha scritto: > > > > > On Tuesday 31 October 2006 06:16, Rafael J. Wysocki wrote: > > > > > [snip] > > > > > > > > > >> However, we already have code that allows us to use swap files for the > > > > >> suspend and turning a regular file into a swap file is as easy as > > > > >> running 'mkswap' and 'swapon' on it. > > > > > > > > > > How is this feature enabled? I don't see it in 2.6.19-rc4. > > > > > > > > Swap files have been supported for ages. suspend-to-swapfile is very > > > > new, you need a -mm kernel and userspace suspend from CVS: > > > > http://suspend.sf.net > > > > > > I know, I use swap files, and not a partition. This has prevented me from > > > using suspend to disk "for ages". ;-) > > > > > > Is userspace suspend REQUIRED for this feature? > > > > No, but unfortunately one piece is still missing: You'll need to figure out > > where your swap file's header is located. > > > > However, if you apply the attached patch the kernel will tell you where it is > > (after you do 'swapon' grep dmesg for 'swap' and use the value in the > > 'offset' field). > > Of course it's also possibile to use FIBMAP ioctl: > > #include <stdio.h> > #include <fcntl.h> > #include <unistd.h> > #include <sys/ioctl.h> > #include <linux/fs.h> > > int main(int argc, char **argv) { > int block = 0; > int fd; > > if (argc < 2) > return 1; > > fd = open(argv[1], O_RDONLY); > if (fd < 0) { > perror("open()"); > return 1; > } > > if (ioctl(fd, FIBMAP, &block)) { > perror("ioctl()"); > return 1; > } > > close(fd); > printf("%d\n", block); > > return 0; > } > > Probably it's more script friendly (grepping dmesg? hmmm) ;)
That's a bit more complicated, because you need to find a block which is PAGE_SIZE big and express the number in PAGE_SIZE units.
Still it _is_ more script friendly and that's why the patch I sent hasn't been applied.
Greetings, Rafael
-- You never change things by fighting the existing reality. R. Buckminster Fuller - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |