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

Andrew Savchenko
2013-09-18T18:41:06Z

[-- Attachment #1: Type: text/plain, Size: 1513 bytes --]

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 #2: Type: application/pgp-signature, Size: 836 bytes --]