Re: compat ioctl32 for /dev/snapshot?

Rafael J. Wysocki
2009-05-04T21:59:06Z

On Monday 04 May 2009, Michael Tokarev wrote:
> Is there any reason why 32-bit uswsusp &Friends does not work
> on 64bits kernel?
>
> For one, 32bits s2disk produces the following when trying to
> suspend:
>
> ioctl32(s2disk:4134): Unknown cmd fd(4) cmd(400c330d){t:'3';sz:12} arg(ff853554) on /dev/snapshot
> ioctl32(s2disk:4134): Unknown cmd fd(4) cmd(4004330a){t:'3';sz:4} arg(00000805) on /dev/snapshot
>
> this is coming from:
>
> error = ioctl(dev, SNAPSHOT_SET_SWAP_AREA, &swap);
> if (error && !offset)
> error = ioctl(dev, SNAPSHOT_SET_SWAP_FILE, blkdev);
>
> but I guess (just guess!) that other SNAPSHOT_* operations will
> also fail the same way.
>
> Is there a reason why those are not in compat_ioctl?

The user land hasn't been designed with that in mind. You'd most likely have
to modify it too.

Thanks,
Rafael