From: Kohei Tokunaga Date: Mon, 28 Apr 2025 06:39:02 +0000 (+0900) Subject: block: Fix type conflict of the copy_file_range stub X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=208808242f8a34ac93e73c1c1dbafe4c00498f5e;p=thirdparty%2Fqemu.git 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 Reviewed-by: Philippe Mathieu-Daudé Reviewed-by: Stefan Hajnoczi Link: https://lore.kernel.org/r/938d2beba15d4bd496a600ee401995fbaa385c62.1745820062.git.ktokunaga.mail@gmail.com Signed-off-by: Paolo Bonzini --- diff --git a/block/file-posix.c b/block/file-posix.c index a845e2836f..ef52ed9169 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,