]> git.proxmox.com Git - mirror_qemu.git/commitdiff
linux-user: fix fallocate
authorAlexander Graf <agraf@suse.de>
Mon, 6 Feb 2012 20:37:07 +0000 (21:37 +0100)
committerRiku Voipio <riku.voipio@linaro.org>
Fri, 6 Apr 2012 15:49:58 +0000 (18:49 +0300)
Fallocate gets off_t parameters passed in, so we should also read them out
accordingly.

Signed-off-by: Alexander Graf <agraf@suse.de>
---

v1 -> v2:

  - unbreak 64-bit guests

Signed-off-by: Riku Voipio <riku.voipio@linaro.org>
linux-user/syscall.c

index 9d1c8b2fe2d6d13cc66f2ff2277e8ccfff74e4a2..fdd49b1940bfb03b966ef4d3c4d5c82c06b0f979 100644 (file)
@@ -8485,7 +8485,12 @@ abi_long do_syscall(void *cpu_env, int num, abi_long arg1,
 #endif /* CONFIG_EVENTFD  */
 #if defined(CONFIG_FALLOCATE) && defined(TARGET_NR_fallocate)
     case TARGET_NR_fallocate:
+#if TARGET_ABI_BITS == 32
+        ret = get_errno(fallocate(arg1, arg2, target_offset64(arg3, arg4),
+                                  target_offset64(arg5, arg6)));
+#else
         ret = get_errno(fallocate(arg1, arg2, arg3, arg4));
+#endif
         break;
 #endif
 #if defined(CONFIG_SYNC_FILE_RANGE)