aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/s390/block
diff options
context:
space:
mode:
authorHeiko Carstens <heiko.carstens@de.ibm.com>2009-03-26 10:23:45 -0400
committerMartin Schwidefsky <schwidefsky@de.ibm.com>2009-03-26 10:24:04 -0400
commit0000d031703c33b9ea909ad81f03762db66135e1 (patch)
tree27abfe41b8959c8be7a8a3017d3aafc963d0b510 /drivers/s390/block
parent59fa4392dddae244a1148cbbcb090b5a5728f576 (diff)
[S390] dasd: enable compat ioctls
All of the ioctls are compatible. Just enable them. Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Diffstat (limited to 'drivers/s390/block')
-rw-r--r--drivers/s390/block/dasd.c3
-rw-r--r--drivers/s390/block/dasd_ioctl.c17
2 files changed, 16 insertions, 4 deletions
diff --git a/drivers/s390/block/dasd.c b/drivers/s390/block/dasd.c
index 08c23a92101..93972ed7f2d 100644
--- a/drivers/s390/block/dasd.c
+++ b/drivers/s390/block/dasd.c
@@ -2101,7 +2101,8 @@ dasd_device_operations = {
2101 .owner = THIS_MODULE, 2101 .owner = THIS_MODULE,
2102 .open = dasd_open, 2102 .open = dasd_open,
2103 .release = dasd_release, 2103 .release = dasd_release,
2104 .locked_ioctl = dasd_ioctl, 2104 .ioctl = dasd_ioctl,
2105 .compat_ioctl = dasd_ioctl,
2105 .getgeo = dasd_getgeo, 2106 .getgeo = dasd_getgeo,
2106}; 2107};
2107 2108
diff --git a/drivers/s390/block/dasd_ioctl.c b/drivers/s390/block/dasd_ioctl.c
index b82d816d9ef..16e6ba462cb 100644
--- a/drivers/s390/block/dasd_ioctl.c
+++ b/drivers/s390/block/dasd_ioctl.c
@@ -365,9 +365,9 @@ static int dasd_ioctl_readall_cmb(struct dasd_block *block, unsigned int cmd,
365 return ret; 365 return ret;
366} 366}
367 367
368int 368static int
369dasd_ioctl(struct block_device *bdev, fmode_t mode, 369dasd_do_ioctl(struct block_device *bdev, fmode_t mode,
370 unsigned int cmd, unsigned long arg) 370 unsigned int cmd, unsigned long arg)
371{ 371{
372 struct dasd_block *block = bdev->bd_disk->private_data; 372 struct dasd_block *block = bdev->bd_disk->private_data;
373 void __user *argp = (void __user *)arg; 373 void __user *argp = (void __user *)arg;
@@ -420,3 +420,14 @@ dasd_ioctl(struct block_device *bdev, fmode_t mode,
420 return -EINVAL; 420 return -EINVAL;
421 } 421 }
422} 422}
423
424int dasd_ioctl(struct block_device *bdev, fmode_t mode,
425 unsigned int cmd, unsigned long arg)
426{
427 int rc;
428
429 lock_kernel();
430 rc = dasd_do_ioctl(bdev, mode, cmd, arg);
431 unlock_kernel();
432 return rc;
433}