linux-user: fadvise64 implementation
good enough to pass all LTP fadvise64 tests Signed-off-by: Ulrich Hecht <uli@suse.de> Signed-off-by: Riku Voipio <riku.voipio@iki.fi>
This commit is contained in:
parent
d83c8733b7
commit
e72d2cc781
@ -6567,12 +6567,23 @@ abi_long do_syscall(void *cpu_env, int num, abi_long arg1,
|
|||||||
arg4 = temp;
|
arg4 = temp;
|
||||||
}
|
}
|
||||||
#endif
|
#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
|
#ifdef TARGET_NR_fadvise64_64
|
||||||
case TARGET_NR_fadvise64_64:
|
case TARGET_NR_fadvise64_64:
|
||||||
#endif
|
#endif
|
||||||
/* This is a hint, so ignoring and returning success is ok. */
|
#ifdef TARGET_NR_fadvise64
|
||||||
ret = get_errno(0);
|
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;
|
break;
|
||||||
#endif
|
#endif
|
||||||
#ifdef TARGET_NR_madvise
|
#ifdef TARGET_NR_madvise
|
||||||
|
Loading…
Reference in New Issue
Block a user