From patchwork Mon Feb 6 21:15:02 2012 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: linux-user: fix fallocate Date: Mon, 06 Feb 2012 11:15:02 -0000 From: Alexander Graf X-Patchwork-Id: 139797 Message-Id: <1328562902-7804-1-git-send-email-agraf@suse.de> To: "qemu-devel@nongnu.org Developers" Cc: Peter Maydell , Riku Voipio Fallocate gets off_t parameters passed in, so we should also read them out accordingly. Signed-off-by: Alexander Graf --- v1 -> v2: - unbreak 64-bit guests --- linux-user/syscall.c | 5 +++++ 1 files changed, 5 insertions(+), 0 deletions(-) diff --git a/linux-user/syscall.c b/linux-user/syscall.c index ee8899e..2b7ebbd 100644 --- a/linux-user/syscall.c +++ b/linux-user/syscall.c @@ -8237,7 +8237,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)