Re: [PATCH 2/3] add ->compat_ioctl to dasd

From: Christoph Hellwig
Date: Wed Dec 14 2005 - 07:23:21 EST


On Wed, Dec 14, 2005 at 01:07:14PM +0100, Martin Schwidefsky wrote:
> On Tue, 2005-12-13 at 18:23 +0100, Christoph Hellwig wrote:
> > Add a compat_ioctl method to the dasd driver so the last entries in
> > arch/s390/kernel/compat_ioctl.c can go away. Unlike the previous
> > attempt this one does not replace the ioctl method with an
> > unlocked_ioctl method so that the ioctl_by_bdev calls in s390 partition
> > code continue to work.
>
> Looks better but still doesn't work. The dasd driver specific ioctls do
> work but there are some generic ones that are only available on the
> normal ioctl path, including BLKFLSBUF, BLKROSET and HDIO_GETGEO. That
> makes e.g. the 32 bit version of fdasd fail with "IOCTL error".

Sorry, that's the ENOIOCTLCMD thing again, I forgot it in the first
revision of the last patch aswell.

Here's the fix for that:


Index: linux-2.6.15-rc5/drivers/s390/block/dasd_ioctl.c
===================================================================
--- linux-2.6.15-rc5.orig/drivers/s390/block/dasd_ioctl.c 2005-12-13 18:25:34.000000000 +0100
+++ linux-2.6.15-rc5/drivers/s390/block/dasd_ioctl.c 2005-12-14 13:23:16.000000000 +0100
@@ -127,7 +127,7 @@
rval = dasd_ioctl(filp->f_dentry->d_inode, filp, cmd, arg);
unlock_kernel();

- return rval;
+ return (rval == -EINVAL) ? -ENOIOCTLCMD : rval;
}

static int
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/