diff options
author | Kohei Tokunaga <ktokunaga.mail@gmail.com> | 2025-04-28 15:39:02 +0900 |
---|---|---|
committer | Paolo Bonzini <pbonzini@redhat.com> | 2025-05-06 16:02:04 +0200 |
commit | 208808242f8a34ac93e73c1c1dbafe4c00498f5e (patch) | |
tree | 934ec56b9cbf5a737f1297f25378338520814a4b | |
parent | 45e82e495d6a9bf59ee80ed2d4c362596f1b559e (diff) | |
download | qemu-208808242f8a34ac93e73c1c1dbafe4c00498f5e.zip qemu-208808242f8a34ac93e73c1c1dbafe4c00498f5e.tar.gz qemu-208808242f8a34ac93e73c1c1dbafe4c00498f5e.tar.bz2 |
block: Fix type conflict of the copy_file_range stub
Emscripten doesn't provide copy_file_range implementation but it declares
this function in its headers. Meson correctly detects the missing
implementation and unsets HAVE_COPY_FILE_RANGE. However, the stub defined in
file-posix.c causes a type conflict with the declaration from Emscripten
during compilation.
To fix this error, this commit updates the stub implementation in
file-posix.c to exactly match the declaration in Emscripten's headers. The
manpage also aligns with this signature.
Signed-off-by: Kohei Tokunaga <ktokunaga.mail@gmail.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
Link: https://lore.kernel.org/r/938d2beba15d4bd496a600ee401995fbaa385c62.1745820062.git.ktokunaga.mail@gmail.com
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
-rw-r--r-- | block/file-posix.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/block/file-posix.c b/block/file-posix.c index a845e28..ef52ed9 100644 --- a/block/file-posix.c +++ b/block/file-posix.c @@ -2080,8 +2080,11 @@ static int handle_aiocb_write_zeroes_unmap(void *opaque) } #ifndef HAVE_COPY_FILE_RANGE -static off_t copy_file_range(int in_fd, off_t *in_off, int out_fd, - off_t *out_off, size_t len, unsigned int flags) +#ifndef EMSCRIPTEN +static +#endif +ssize_t copy_file_range(int in_fd, off_t *in_off, int out_fd, + off_t *out_off, size_t len, unsigned int flags) { #ifdef __NR_copy_file_range return syscall(__NR_copy_file_range, in_fd, in_off, out_fd, |