diff options
author | Aleksandar Markovic <aleksandar.markovic@imgtec.com> | 2016-10-10 13:23:30 +0200 |
---|---|---|
committer | Riku Voipio <riku.voipio@linaro.org> | 2016-10-21 15:20:13 +0300 |
commit | 5a03cd009ae8d9c819c3f24f16695f8a334b8ad9 (patch) | |
tree | d86a30aef0ffce1c052152b0106ac6f61e44280d /linux-user | |
parent | 38860a0343df894a1c3371597eb4d305078642fb (diff) |
linux-user: Add support for syncfs() syscall
This patch implements Qemu user mode syncfs() syscall support. Syscall
syncfs() syncs the filesystem containing file determined by the open
file descriptor passed as the argument to syncfs().
The implementation consists of a straightforward invocation of host's
syncfs(). Configure and strace support is included as well.
Signed-off-by: Aleksandar Markovic <aleksandar.markovic@imgtec.com>
Signed-off-by: Riku Voipio <riku.voipio@linaro.org>
Diffstat (limited to 'linux-user')
-rw-r--r-- | linux-user/strace.list | 2 | ||||
-rw-r--r-- | linux-user/syscall.c | 5 |
2 files changed, 6 insertions, 1 deletions
diff --git a/linux-user/strace.list b/linux-user/strace.list index dcd3812cad..3b1282ec1a 100644 --- a/linux-user/strace.list +++ b/linux-user/strace.list @@ -1459,7 +1459,7 @@ { TARGET_NR_sync, "sync" , NULL, NULL, NULL }, #endif #ifdef TARGET_NR_syncfs -{ TARGET_NR_syncfs, "syncfs" , NULL, NULL, NULL }, +{ TARGET_NR_syncfs, "syncfs" , "%s(%d)", NULL, NULL }, #endif #ifdef TARGET_NR_syscall { TARGET_NR_syscall, "syscall" , NULL, NULL, NULL }, diff --git a/linux-user/syscall.c b/linux-user/syscall.c index 14929965ff..14c52072f9 100644 --- a/linux-user/syscall.c +++ b/linux-user/syscall.c @@ -8090,6 +8090,11 @@ abi_long do_syscall(void *cpu_env, int num, abi_long arg1, sync(); ret = 0; break; +#if defined(TARGET_NR_syncfs) && defined(CONFIG_SYNCFS) + case TARGET_NR_syncfs: + ret = get_errno(syncfs(arg1)); + break; +#endif case TARGET_NR_kill: ret = get_errno(safe_kill(arg1, target_to_host_signal(arg2))); break; |