linux-user: Correct type for LOOP_GET_STATUS{,64} ioctls
commitf2c2fb50be13aca9c449d9156817c915d9cd2acb
authorPeter Maydell <peter.maydell@linaro.org>
Tue, 5 Jul 2016 15:36:29 +0000 (5 16:36 +0100)
committerRiku Voipio <riku.voipio@linaro.org>
Tue, 19 Jul 2016 12:23:16 +0000 (19 15:23 +0300)
treebb0bba272cbe33de2107ca3105e7bc24d6687a3f
parenta4a2c51f9006b9e6ee3b94f5ce87aed066f3446a
linux-user: Correct type for LOOP_GET_STATUS{,64} ioctls

The LOOP_GET_STATUS and LOOP_GET_STATUS64 ioctls were incorrectly
defined as IOC_W rather than IOC_R, which meant we weren't
correctly copying the information back from the kernel to the guest.
The loop_info64 structure definition was also missing a member
and using the wrong type for several 32-bit fields.

In particular, this meant that "kpartx -d image.img" didn't work
and "losetup -a" behaved strangely. Correct the ioctl type definitions.

Reported-by: Chanho Park <chanho61.park@samsung.com>
Reviewed-by: Laurent Vivier <laurent@vivier.eu>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Riku Voipio <riku.voipio@linaro.org>
linux-user/ioctls.h
linux-user/syscall_types.h