linux-user: Add support for FDFLUSH ioctl

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>
This commit is contained in:
Yunqiang Su 2019-09-04 14:59:24 +02:00 committed by Laurent Vivier
parent 4e4b173fa1
commit ab22b4dd74
3 changed files with 7 additions and 0 deletions

View File

@ -112,6 +112,8 @@
IOCTL(BLKZEROOUT, IOC_W, MK_PTR(MK_ARRAY(TYPE_ULONGLONG, 2))) IOCTL(BLKZEROOUT, IOC_W, MK_PTR(MK_ARRAY(TYPE_ULONGLONG, 2)))
#endif #endif
IOCTL(FDFLUSH, 0, TYPE_NULL)
#ifdef FIBMAP #ifdef FIBMAP
IOCTL(FIBMAP, IOC_W | IOC_R, MK_PTR(TYPE_LONG)) IOCTL(FIBMAP, IOC_W | IOC_R, MK_PTR(TYPE_LONG))
#endif #endif

View File

@ -89,6 +89,7 @@
#include <linux/kd.h> #include <linux/kd.h>
#include <linux/mtio.h> #include <linux/mtio.h>
#include <linux/fs.h> #include <linux/fs.h>
#include <linux/fd.h>
#if defined(CONFIG_FIEMAP) #if defined(CONFIG_FIEMAP)
#include <linux/fiemap.h> #include <linux/fiemap.h>
#endif #endif

View File

@ -888,6 +888,10 @@ struct target_pollfd {
#define TARGET_BLKROTATIONAL TARGET_IO(0x12, 126) #define TARGET_BLKROTATIONAL TARGET_IO(0x12, 126)
#define TARGET_BLKZEROOUT TARGET_IO(0x12, 127) #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_FIBMAP TARGET_IO(0x00,1) /* bmap access */
#define TARGET_FIGETBSZ TARGET_IO(0x00,2) /* get the block size used for bmap */ #define TARGET_FIGETBSZ TARGET_IO(0x00,2) /* get the block size used for bmap */