Re: Suspend to disk: do we HAVE to use swap?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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 <[email protected]> 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) ;)

Luca
-- 
Non sempre quello che viene dopo e` progresso.
Alessandro Manzoni
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux