[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 09/11] linux-user: fadvise64 implementation
From: |
riku . voipio |
Subject: |
[Qemu-devel] [PATCH 09/11] linux-user: fadvise64 implementation |
Date: |
Thu, 13 Aug 2009 23:06:22 +0300 |
From: Ulrich Hecht <address@hidden>
good enough to pass all LTP fadvise64 tests
Signed-off-by: Ulrich Hecht <address@hidden>
Signed-off-by: Riku Voipio <address@hidden>
---
linux-user/syscall.c | 17 ++++++++++++++---
1 files changed, 14 insertions(+), 3 deletions(-)
diff --git a/linux-user/syscall.c b/linux-user/syscall.c
index 58c1b29..f90be71 100644
--- a/linux-user/syscall.c
+++ b/linux-user/syscall.c
@@ -6649,12 +6649,23 @@ abi_long do_syscall(void *cpu_env, int num, abi_long
arg1,
arg4 = temp;
}
#endif
-#if defined(TARGET_NR_fadvise64_64) || defined(TARGET_NR_arm_fadvise64_64)
+#if defined(TARGET_NR_fadvise64_64) || defined(TARGET_NR_arm_fadvise64_64) ||
defined(TARGET_NR_fadvise64)
#ifdef TARGET_NR_fadvise64_64
case TARGET_NR_fadvise64_64:
#endif
- /* This is a hint, so ignoring and returning success is ok. */
- ret = get_errno(0);
+#ifdef TARGET_NR_fadvise64
+ case TARGET_NR_fadvise64:
+#endif
+#ifdef TARGET_S390X
+ switch (arg4) {
+ case 4: arg4 = POSIX_FADV_NOREUSE + 1; break; /* make sure it's an
invalid value */
+ case 5: arg4 = POSIX_FADV_NOREUSE + 2; break; /* ditto */
+ case 6: arg4 = POSIX_FADV_DONTNEED; break;
+ case 7: arg4 = POSIX_FADV_NOREUSE; break;
+ default: break;
+ }
+#endif
+ ret = -posix_fadvise(arg1, arg2, arg3, arg4);
break;
#endif
#ifdef TARGET_NR_madvise
--
1.6.2.1
- [Qemu-devel] [PATCH 01/11] linux-user: add eventfd support, (continued)
- [Qemu-devel] [PATCH 01/11] linux-user: add eventfd support, riku . voipio, 2009/08/13
- [Qemu-devel] [PATCH 04/11] m68k, linux-user: enable sigaltstack(), riku . voipio, 2009/08/13
- [Qemu-devel] [PATCH 03/11] m68k, linux-user: add setup_rt_frame, riku . voipio, 2009/08/13
- [Qemu-devel] [PATCH 05/11] linux-user: fix mq_* compilation problems, riku . voipio, 2009/08/13
- [Qemu-devel] [PATCH 11/11] linux-user: Rewrite mmap_find_vma() to work fine on 64-bit hosts with 32-bit targets, riku . voipio, 2009/08/13
- [Qemu-devel] [PATCH 06/11] linux-user: fcntl fixes for LTP, riku . voipio, 2009/08/13
- [Qemu-devel] [PATCH 10/11] linux-user: zero fstat buffer to initialize nsec fields, riku . voipio, 2009/08/13
- [Qemu-devel] [PATCH 07/11] linux-user: enable getdents for > 32-bit systems, riku . voipio, 2009/08/13
- [Qemu-devel] [PATCH 09/11] linux-user: fadvise64 implementation,
riku . voipio <=
- [Qemu-devel] [PATCH 08/11] linux-user: define a couple of syscalls for non-uid16 targets, riku . voipio, 2009/08/13