[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH 1/2] linux-user: Add loop control ioctls
From: |
Laurent Vivier |
Subject: |
Re: [Qemu-devel] [PATCH 1/2] linux-user: Add loop control ioctls |
Date: |
Tue, 5 Jul 2016 09:45:46 +0200 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.1.1 |
Le 04/07/2016 à 18:06, Peter Maydell a écrit :
> Add support for the /dev/loop-control ioctls:
> LOOP_CTL_ADD
> LOOP_CTL_REMOVE
> LOOP_CTL_GET_FREE
>
> Signed-off-by: Peter Maydell <address@hidden>
Reviewed-by: Laurent Vivier <address@hidden>
> ---
> linux-user/ioctls.h | 4 ++++
> linux-user/linux_loop.h | 11 ++++++++++-
> linux-user/syscall_defs.h | 4 ++++
> 3 files changed, 18 insertions(+), 1 deletion(-)
>
> diff --git a/linux-user/ioctls.h b/linux-user/ioctls.h
> index 804f099..72cd32a 100644
> --- a/linux-user/ioctls.h
> +++ b/linux-user/ioctls.h
> @@ -356,6 +356,10 @@
> IOCTL(LOOP_GET_STATUS64, IOC_W, MK_PTR(MK_STRUCT(STRUCT_loop_info64)))
> IOCTL(LOOP_CHANGE_FD, 0, TYPE_INT)
>
> + IOCTL(LOOP_CTL_ADD, 0, TYPE_INT)
> + IOCTL(LOOP_CTL_REMOVE, 0, TYPE_INT)
> + IOCTL(LOOP_CTL_GET_FREE, 0, TYPE_NULL)
> +
> IOCTL(MTIOCTOP, IOC_W, MK_PTR(MK_STRUCT(STRUCT_mtop)))
> IOCTL(MTIOCGET, IOC_R, MK_PTR(MK_STRUCT(STRUCT_mtget)))
> IOCTL(MTIOCPOS, IOC_R, MK_PTR(MK_STRUCT(STRUCT_mtpos)))
> diff --git a/linux-user/linux_loop.h b/linux-user/linux_loop.h
> index 8974caa..fd7608b 100644
> --- a/linux-user/linux_loop.h
> +++ b/linux-user/linux_loop.h
> @@ -1,4 +1,6 @@
> -/* Copied from 2.6.25 kernel headers to avoid problems on older hosts. */
> +/* Copied from 2.6.25 kernel headers to avoid problems on older hosts,
> + * and subsequently updated to match newer additions to the API.
> + */
> #ifndef _LINUX_LOOP_H
> #define _LINUX_LOOP_H
>
> @@ -91,5 +93,12 @@ struct loop_info64 {
> #define LOOP_SET_STATUS64 0x4C04
> #define LOOP_GET_STATUS64 0x4C05
> #define LOOP_CHANGE_FD 0x4C06
> +#define LOOP_SET_CAPACITY 0x4C07
> +#define LOOP_SET_DIRECT_IO 0x4C08
> +
> +/* /dev/loop-control interface */
> +#define LOOP_CTL_ADD 0x4C80
> +#define LOOP_CTL_REMOVE 0x4C81
> +#define LOOP_CTL_GET_FREE 0x4C82
>
> #endif
> diff --git a/linux-user/syscall_defs.h b/linux-user/syscall_defs.h
> index 6650e26..0591abc 100644
> --- a/linux-user/syscall_defs.h
> +++ b/linux-user/syscall_defs.h
> @@ -1129,6 +1129,10 @@ struct target_pollfd {
> #define TARGET_LOOP_GET_STATUS64 0x4C05
> #define TARGET_LOOP_CHANGE_FD 0x4C06
>
> +#define TARGET_LOOP_CTL_ADD 0x4C80
> +#define TARGET_LOOP_CTL_REMOVE 0x4C81
> +#define TARGET_LOOP_CTL_GET_FREE 0x4C82
> +
> /* fb ioctls */
> #define TARGET_FBIOGET_VSCREENINFO 0x4600
> #define TARGET_FBIOPUT_VSCREENINFO 0x4601
>