Hello Philippe, thank you for the feedback, I've checked that. The problem is that the Hurd fails that test due to the following:
#if defined __stub_copy_file_range || defined __stub___copy_file_range fail fail fail this function is not going to work #endifefines the stub __copy_file_ran rightfully so I'd say, because copy_file_range is just a stub on the Hurd. As such, we really need to exclude the code that defines the stub in qemu on the Hurd. On Wed, Jan 17, 2024 at 2:56 PM Philippe Mathieu-Daudé <phi...@linaro.org> wrote: > > Hi Manolo, > > On 17/1/24 13:31, Manolo de Medici wrote: > > It's already defined as a stub on the GNU Hurd. > > Meson checks for this function and defines > HAVE_COPY_FILE_RANGE if available, see in meson.build: > > config_host_data.set('HAVE_COPY_FILE_RANGE', > cc.has_function('copy_file_range')) > > Maybe some header is missing in "osdep.h" for GNU Hurd? > > > Signed-off-by: Manolo de Medici <manolo.demed...@gmail.com> > > > > diff --git a/block/file-posix.c b/block/file-posix.c > > index 35684f7e21..05426abb7d 100644 > > --- a/block/file-posix.c > > +++ b/block/file-posix.c > > @@ -1999,7 +1999,7 @@ static int handle_aiocb_write_zeroes_unmap(void > > *opaque) > > return handle_aiocb_write_zeroes(aiocb); > > } > > > > -#ifndef HAVE_COPY_FILE_RANGE > > +#if !defined(HAVE_COPY_FILE_RANGE) && !defined(__GNU__) > > 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) > > { > > --- > > block/file-posix.c | 2 +- > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > diff --git a/block/file-posix.c b/block/file-posix.c > > index 35684f7e21..05426abb7d 100644 > > --- a/block/file-posix.c > > +++ b/block/file-posix.c > > @@ -1999,7 +1999,7 @@ static int handle_aiocb_write_zeroes_unmap(void > > *opaque) > > return handle_aiocb_write_zeroes(aiocb); > > } > > > > -#ifndef HAVE_COPY_FILE_RANGE > > +#if !defined(HAVE_COPY_FILE_RANGE) && !defined(__GNU__) > > 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) > > { > > -- > > 2.43.0 > > >