On 4/28/20 1:29 PM, Milan P. Stanić wrote: > Hello, > > I'm liburing Alpine Linux maintainer > (https://git.alpinelinux.org/aports/tree/testing/liburing) > > I tried to upgrade to 0.6 from 0.5 version but I got errors: > include/liburing/compat.h:6:2: error: unknown type name 'int64_t' > and > include/liburing.h:196:17: error: unknown type name 'loff_t'; did you mean 'off_t'? > > musl libc have /usr/include/fcntl.h in which loff_t is defined with: > #define loff_t off_t > and I tried to include it in include/liburing.h but this didn't helped. > > After this I created this patch: > ------ > --- a/src/include/liburing.h 2020-04-13 18:50:21.000000000 +0200 > +++ b/src/include/liburing.h 2020-04-23 21:43:15.923487287 +0200 > @@ -193,8 +193,8 @@ > } > > static inline void io_uring_prep_splice(struct io_uring_sqe *sqe, > - int fd_in, loff_t off_in, > - int fd_out, loff_t off_out, > + int fd_in, off_t off_in, > + int fd_out, off_t off_out, > unsigned int nbytes, > unsigned int splice_flags) > { > ------ > with which version 0.6 builds fine but I suspect this is not proper fix. > > Could you, please, give me advice what will be proper fix these changes? Not sure what the best fix is there, for 32-bit, your change will truncate the offset to 32-bit as off_t is only 4 bytes there. At least that's the case for me, maybe musl is different if it just has a nasty define for them. Maybe best to just make them uint64_t or something like that. -- Jens Axboe