Re: [BUG] 3.7-rc regression bisected: s2disk fails to resume image:Processes could not be frozen, cannot continue resuming

From: Andrew Savchenko
Date: Wed Sep 18 2013 - 14:41:09 EST


Hello,

On Wed, 18 Sep 2013 14:52:39 +0100 Al Viro wrote:
> On Tue, Aug 27, 2013 at 07:48:43AM +0400, Andrew Savchenko wrote:
> > > Additional (but probably useless) information on this bug may be found
> > > here: https://forums.gentoo.org/viewtopic-p-7371120.html
>
> Something's very fishy there:
>
> [quote]
> Digging into suspend-utils code shows that the following ioctl fails on
> "/dev/snapshot":
>
> Code:
> ioctl(dev, _IO(3, 1), 0);
> [end quote]
>
> but that's _not_ anything freeze-related - that's HDIO_GETGEO, and with zero
> as last argument it will fail, no matter what. With EFAULT, if nothing
> else...
>
> Which ioctl() it really is? A bit further down you write "I modified suspend
> code to see errno, so freeze on /dev/snapshot fails [with EAGAIN]", so you
> have isolated the call in question. Could you quote the actual code?

Actual code is from suspend-utils tree, swsusp.h:

static inline int freeze(int dev)
{
return ioctl(dev, SNAPSHOT_FREEZE, 0);
}

And from suspend_ioctls.h:
#define SNAPSHOT_IOC_MAGIC '3'
#define SNAPSHOT_FREEZE _IO(SNAPSHOT_IOC_MAGIC, 1)

My mistake, should be '3' instead of 3.

Best regards,
Andrew Savchenko

Attachment: pgp00000.pgp
Description: PGP signature