Le 04/09/2019 à 14:59, Aleksandar Markovic a écrit :
> From: Yunqiang Su <ysu@wavecomp.com>
>
> 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>
> ---
> linux-user/ioctls.h | 2 ++
> linux-user/syscall.c | 1 +
> linux-user/syscall_defs.h | 4 ++++
> 3 files changed, 7 insertions(+)
>
> diff --git a/linux-user/ioctls.h b/linux-user/ioctls.h
> index 1830de9..bc19448 100644
> --- a/linux-user/ioctls.h
> +++ b/linux-user/ioctls.h
> @@ -112,6 +112,8 @@
> 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
> diff --git a/linux-user/syscall.c b/linux-user/syscall.c
> index b5bc6e4..6825458 100644
> --- a/linux-user/syscall.c
> +++ b/linux-user/syscall.c
> @@ -87,6 +87,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
> diff --git a/linux-user/syscall_defs.h b/linux-user/syscall_defs.h
> index 498223b..917202a 100644
> --- a/linux-user/syscall_defs.h
> +++ b/linux-user/syscall_defs.h
> @@ -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 */
>
>
Applied to my linux-user branch.
Thanks,
Laurent