linux-user: Add support for FDFLUSH ioctl
authorYunqiang Su <ysu@wavecomp.com>
Wed, 4 Sep 2019 12:59:24 +0000 (14:59 +0200)
committerLaurent Vivier <laurent@vivier.eu>
Wed, 11 Sep 2019 06:47:06 +0000 (08:47 +0200)
FDFLUSH is used for flushing buffers of floppy drives. Support in
QEMU is needed because some of Debian packages use this ioctl while
running post-build tests. One such example is 'tar' package.

Signed-off-by: Yunqiang Su <ysu@wavecomp.com>
Signed-off-by: Aleksandar Markovic <amarkovic@wavecomp.com>
Reviewed-by: Laurent Vivier <laurent@vivier.eu>
Message-Id: <1567601968-26946-5-git-send-email-aleksandar.markovic@rt-rk.com>
Signed-off-by: Laurent Vivier <laurent@vivier.eu>
linux-user/ioctls.h
linux-user/syscall.c
linux-user/syscall_defs.h

index 1830de96e12b8ec43f9244d1d1bd240a5790afb8..bc19448042204039d15be663b59b16799cf21627 100644 (file)
      IOCTL(BLKZEROOUT, IOC_W, MK_PTR(MK_ARRAY(TYPE_ULONGLONG, 2)))
 #endif
 
+     IOCTL(FDFLUSH, 0, TYPE_NULL)
+
 #ifdef FIBMAP
      IOCTL(FIBMAP, IOC_W | IOC_R, MK_PTR(TYPE_LONG))
 #endif
index 6928f654ced3640ae45c303dc06eaca0d6a7aead..e2af3c1494fa24fd35d9d651f29cbee7a616a000 100644 (file)
@@ -89,6 +89,7 @@
 #include <linux/kd.h>
 #include <linux/mtio.h>
 #include <linux/fs.h>
+#include <linux/fd.h>
 #if defined(CONFIG_FIEMAP)
 #include <linux/fiemap.h>
 #endif
index 498223b77787715e45b9fea6d0ff4067a89ddcac..917202a2035dcdb7cb2e088904c7a70134354cb4 100644 (file)
@@ -888,6 +888,10 @@ struct target_pollfd {
 #define TARGET_BLKROTATIONAL TARGET_IO(0x12, 126)
 #define TARGET_BLKZEROOUT TARGET_IO(0x12, 127)
 
+/* From <linux/fd.h> */
+
+#define TARGET_FDFLUSH        TARGET_IO(2, 0x4b)
+
 #define TARGET_FIBMAP     TARGET_IO(0x00,1)  /* bmap access */
 #define TARGET_FIGETBSZ   TARGET_IO(0x00,2)  /* get the block size used for bmap */