История изменений
Исправление
gaylord,
(текущая версия)
:
А, да, не забудь, что для всех операций есть врапперы:
io_uring_prep_OP(...);
Оно от сискола лишним аргументом отличается. Вот, read(), например:
void io_uring_prep_read(struct io_uring_sqe *sqe,
int fd,
void *buf,
unsigned nbytes,
__u64 offset);
А app_setup_uring() это low-level пример, его в реальном коде нет. Для этого есть io_uring_queue_init()
.
Исправление
gaylord,
:
А, да, не забудь, что для всех операций есть врапперы:
io_uring_prep_OP(...);
Оно от сискола лишним аргументом отличается. Вот, read(), например:
void io_uring_prep_read(struct io_uring_sqe *sqe,
int fd,
void *buf,
unsigned nbytes,
__u64 offset);
А app_setup_uring() это low-level пример, его в реальном коде нет. Для этого есть io_uring_setup()
.
Исправление
gaylord,
:
А, да, не забудь, что для всех операций есть врапперы:
io_uring_prep_OP(...);
Оно от сискола лишним аргументом отличается. Вот, read(), например:
void io_uring_prep_read(struct io_uring_sqe *sqe,
int fd,
void *buf,
unsigned nbytes,
__u64 offset);
А app_setup_uring() это low-level пример, его в реальном коде нет.
Исправление
gaylord,
:
А, да, не забудь, что для всех операций есть врапперы:
io_uring_prep_OP(...);
Оно от сискола лишним аргументом отличается. Вот, read(), например:
void io_uring_prep_read(struct io_uring_sqe *sqe,
int fd,
void *buf,
unsigned nbytes,
__u64 offset);
А app_setup_uring() это low level пример, его в реальном коде нет.
Исправление
gaylord,
:
А, да, не забудь, что для всех операций есть врапперы:
io_uring_prep_OP(...);
Оно от сискола лишним аргументом отличается. Вот, read(), например:
void io_uring_prep_read(struct io_uring_sqe *sqe,
int fd,
void *buf,
unsigned nbytes,
__u64 offset);
Исходная версия
gaylord,
:
А, да, не забудь, что для всех операций есть врапперы:
io_uring_prep_OP(...);
Оно от сискола лишним аргументом отличается.