[dm-devel] Re: dm-ioctl on amd64 with 32bit userspace

Andrew Morton akpm at linux-foundation.org
Thu Sep 20 00:26:50 UTC 2007


On Mon, 17 Sep 2007 18:57:26 +0200
Guido Guenther <agx at sigxcpu.org> wrote:

> using something like:
> 
> dmsetup message <mpath> 0 fail_if_no_path
> 
> on a 32 bit dmsetup with a amd64 kernel currently fails with:
>  "Invalid target message parameters."
> 
> since the structure padding is 8 bytes and so we're looking at a 4 byte
> to high address in target_message() - this also affects dev_rename() and
> dev_set_geometry(). The attached patch works around the problem but
> doesn't look like a proper fix. But since all the 32bit to 64bit ioctl
> conversion in device mapper seems a bit strange, I'm not sure where to
> fix this properly.
> 
> The bad thing about this is that multipath failover after a trespas on
> such a system won't work (among other things). This at least has been
> broken since 2.6.18 (I doubt it ever worked) and is still broken in
> 2.6.23-rc6-git7. With this patch, failover after a trespas and device
> renaming works as expected.

I don't understand why people aren't running around with their hair on fire
over this bug.    Is everyone running 64-bit dmsetup, or what?

This looks like 2.6.22 and 2.6.23 material to me.  Alasdair?




More information about the dm-devel mailing list