diff options
Diffstat (limited to 'source3/modules')
-rw-r--r-- | source3/modules/vfs_default.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/source3/modules/vfs_default.c b/source3/modules/vfs_default.c index e08d48ff5f..54f38c3714 100644 --- a/source3/modules/vfs_default.c +++ b/source3/modules/vfs_default.c @@ -965,9 +965,10 @@ static int vfswrap_fallocate(vfs_handle_struct *handle, START_PROFILE(syscall_fallocate); if (mode == VFS_FALLOCATE_EXTEND_SIZE) { result = sys_posix_fallocate(fsp->fh->fd, offset, len); + } else if (mode == VFS_FALLOCATE_KEEP_SIZE) { + result = sys_fallocate(fsp->fh->fd, mode, offset, len); } else { - /* TODO - implement call into Linux fallocate call. */ - errno = ENOSYS; + errno = EINVAL; result = -1; } END_PROFILE(syscall_fallocate); |