diff --git a/src/kernel/emulation/linux/fcntl/fcntl.c b/src/kernel/emulation/linux/fcntl/fcntl.c index 17bf33ad2..186e1ec9d 100644 --- a/src/kernel/emulation/linux/fcntl/fcntl.c +++ b/src/kernel/emulation/linux/fcntl/fcntl.c @@ -76,6 +76,12 @@ long sys_fcntl_nocancel(int fd, int cmd, long arg) case F_GETLK: // TODO return 0; + case F_FULLFSYNC: { + ret = LINUX_SYSCALL1(__NR_fsync, fd); + if (ret < 0) + ret = errno_linux_to_bsd(ret); + return 0; + }; // TODO: implement remaining commands default: return -EINVAL; diff --git a/src/kernel/emulation/linux/fcntl/fcntl.h b/src/kernel/emulation/linux/fcntl/fcntl.h index 25decef9f..c93068dae 100644 --- a/src/kernel/emulation/linux/fcntl/fcntl.h +++ b/src/kernel/emulation/linux/fcntl/fcntl.h @@ -44,6 +44,7 @@ enum { F_RDADVISE, F_RDAHEAD, F_GETPATH = 50, + F_FULLFSYNC = 51, F_CHECK_LV = 98, };