aboutsummaryrefslogtreecommitdiffstats
path: root/fs/compat_ioctl.c
diff options
context:
space:
mode:
authorJohannes Stezenbach <js@sig21.net>2011-07-01 16:32:26 -0400
committerJens Axboe <jaxboe@fusionio.com>2011-07-01 16:32:26 -0400
commit390192b300570b2bc721d77067ca133f58015ae8 (patch)
treebacbd75f23e74308b814146338bcaa6b3636bae7 /fs/compat_ioctl.c
parent85ef06d1d252f6a2e73b678591ab71caad4667bb (diff)
compat_ioctl: fix warning caused by qemu
On Linux x86_64 host with 32bit userspace, running qemu or even just "qemu-img create -f qcow2 some.img 1G" causes a kernel warning: ioctl32(qemu-img:5296): Unknown cmd fd(3) cmd(00005326){t:'S';sz:0} arg(7fffffff) on some.img ioctl32(qemu-img:5296): Unknown cmd fd(3) cmd(801c0204){t:02;sz:28} arg(fff77350) on some.img ioctl 00005326 is CDROM_DRIVE_STATUS, ioctl 801c0204 is FDGETPRM. The warning appears because the Linux compat-ioctl handler for these ioctls only applies to block devices, while qemu also uses the ioctls on plain files. Signed-off-by: Johannes Stezenbach <js@sig21.net> Acked-by: Arnd Bergmann <arnd@arndb.de> Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
Diffstat (limited to 'fs/compat_ioctl.c')
-rw-r--r--fs/compat_ioctl.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/fs/compat_ioctl.c b/fs/compat_ioctl.c
index 61abb638b4bf..8be086e9abe4 100644
--- a/fs/compat_ioctl.c
+++ b/fs/compat_ioctl.c
@@ -68,6 +68,8 @@
68 68
69#ifdef CONFIG_BLOCK 69#ifdef CONFIG_BLOCK
70#include <linux/loop.h> 70#include <linux/loop.h>
71#include <linux/cdrom.h>
72#include <linux/fd.h>
71#include <scsi/scsi.h> 73#include <scsi/scsi.h>
72#include <scsi/scsi_ioctl.h> 74#include <scsi/scsi_ioctl.h>
73#include <scsi/sg.h> 75#include <scsi/sg.h>
@@ -944,6 +946,9 @@ COMPATIBLE_IOCTL(FIOQSIZE)
944IGNORE_IOCTL(LOOP_CLR_FD) 946IGNORE_IOCTL(LOOP_CLR_FD)
945/* md calls this on random blockdevs */ 947/* md calls this on random blockdevs */
946IGNORE_IOCTL(RAID_VERSION) 948IGNORE_IOCTL(RAID_VERSION)
949/* qemu/qemu-img might call these two on plain files for probing */
950IGNORE_IOCTL(CDROM_DRIVE_STATUS)
951IGNORE_IOCTL(FDGETPRM32)
947/* SG stuff */ 952/* SG stuff */
948COMPATIBLE_IOCTL(SG_SET_TIMEOUT) 953COMPATIBLE_IOCTL(SG_SET_TIMEOUT)
949COMPATIBLE_IOCTL(SG_GET_TIMEOUT) 954COMPATIBLE_IOCTL(SG_GET_TIMEOUT)