Messages in this thread | | | Date | Fri, 14 Oct 2005 08:53:02 +0200 | From | Jens Axboe <> | Subject | Re: BLKSECTGET userland API breakage (2.4 and 2.6 incompatible) |
| |
On Thu, Oct 13 2005, Alexander Viro wrote: > [that had started as "BLKSECTGET 32bit compat is broken"] > > Situation: > > all 2.4: BLKSECTGET takes long * and is supported by several block drivers > bio-14-pre9: Takes BLKSECTGET to drivers/block/blkpg.c, defining it for all > block drivers *AND* making it take unsigned short * > 2.5.1-pre2: bio merge > all 2.[56] kernels since then: BLKSECTGET takes unsigned short * > 32bit compat: unchanged since 2.4 and thus broken on 2.[56] > applications: we have seen ones using 2.6 ABI and getting buggered in > 32bit compat. Most likely there are some using 2.4 ABI...
Unfortunate situation :(
> IMO the least painful variant is to switch 2.6 compat code to match > 2.6 native (i.e. use COMPATIBLE_IOCTL()), leave 2.4 as-is and live > with the fact of userland ABI change between 2.4 and 2.6...
Agree.
-- Jens Axboe
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |