diff --git a/src/blockstore/blockstore_flush.cpp b/src/blockstore/blockstore_flush.cpp index 9bbd5c91..293ba2f0 100644 --- a/src/blockstore/blockstore_flush.cpp +++ b/src/blockstore/blockstore_flush.cpp @@ -517,7 +517,7 @@ resume_2: await_sqe(15); data->iov = (struct iovec){ it->buf, (size_t)it->len }; data->callback = simple_callback_w; - my_uring_prep_writev( + io_uring_prep_writev( sqe, bs->dsk.data_fd, &data->iov, 1, bs->dsk.data_offset + clean_loc + it->offset ); wait_count++; @@ -746,7 +746,7 @@ bool journal_flusher_co::write_meta_block(flusher_meta_write_t & meta_block, int await_sqe(0); data->iov = (struct iovec){ meta_block.buf, (size_t)bs->dsk.meta_block_size }; data->callback = simple_callback_w; - my_uring_prep_writev( + io_uring_prep_writev( sqe, bs->dsk.meta_fd, &data->iov, 1, bs->dsk.meta_offset + bs->dsk.meta_block_size + meta_block.sector ); wait_count++; @@ -1129,7 +1129,7 @@ bool journal_flusher_co::read_dirty(int wait_base) vi.buf = memalign_or_die(MEM_ALIGNMENT, vi.len); data->iov = (struct iovec){ vi.buf, (size_t)vi.len }; data->callback = simple_callback_r; - my_uring_prep_readv( + io_uring_prep_readv( sqe, bs->dsk.data_fd, &data->iov, 1, bs->dsk.data_offset + old_clean_loc + vi.offset ); wait_count++; @@ -1161,7 +1161,7 @@ bool journal_flusher_co::read_dirty(int wait_base) await_sqe(1); data->iov = (struct iovec){ v[i].buf, (size_t)v[i].len }; data->callback = simple_callback_rj; - my_uring_prep_readv( + io_uring_prep_readv( sqe, bs->dsk.journal_fd, &data->iov, 1, bs->journal.offset + v[i].disk_offset ); wait_journal_count++; @@ -1254,7 +1254,7 @@ bool journal_flusher_co::modify_meta_read(uint64_t meta_loc, flusher_meta_write_ data->iov = (struct iovec){ wr.it->second.buf, (size_t)bs->dsk.meta_block_size }; data->callback = simple_callback_r; wr.submitted = true; - my_uring_prep_readv( + io_uring_prep_readv( sqe, bs->dsk.meta_fd, &data->iov, 1, bs->dsk.meta_offset + bs->dsk.meta_block_size + wr.sector ); wait_count++; @@ -1352,7 +1352,7 @@ bool journal_flusher_co::fsync_batch(bool fsync_meta, int wait_base) await_sqe(0); data->iov = { 0 }; data->callback = simple_callback_w; - my_uring_prep_fsync(sqe, fsync_meta ? bs->dsk.meta_fd : bs->dsk.data_fd, IORING_FSYNC_DATASYNC); + io_uring_prep_fsync(sqe, fsync_meta ? bs->dsk.meta_fd : bs->dsk.data_fd, IORING_FSYNC_DATASYNC); cur_sync->state = 1; wait_count++; resume_2: @@ -1422,7 +1422,7 @@ bool journal_flusher_co::trim_journal(int wait_base) ((journal_entry_start*)flusher->journal_superblock)->crc32 = je_crc32((journal_entry*)flusher->journal_superblock); data->iov = (struct iovec){ flusher->journal_superblock, (size_t)bs->dsk.journal_block_size }; data->callback = simple_callback_w; - my_uring_prep_writev(sqe, bs->dsk.journal_fd, &data->iov, 1, bs->journal.offset); + io_uring_prep_writev(sqe, bs->dsk.journal_fd, &data->iov, 1, bs->journal.offset); wait_count++; resume_2: if (wait_count > 0) @@ -1433,7 +1433,7 @@ bool journal_flusher_co::trim_journal(int wait_base) if (!bs->disable_journal_fsync) { await_sqe(3); - my_uring_prep_fsync(sqe, bs->dsk.journal_fd, IORING_FSYNC_DATASYNC); + io_uring_prep_fsync(sqe, bs->dsk.journal_fd, IORING_FSYNC_DATASYNC); data->iov = { 0 }; data->callback = simple_callback_w; wait_count++; diff --git a/src/blockstore/blockstore_init.cpp b/src/blockstore/blockstore_init.cpp index e27adde1..703c1f47 100644 --- a/src/blockstore/blockstore_init.cpp +++ b/src/blockstore/blockstore_init.cpp @@ -66,7 +66,7 @@ int blockstore_init_meta::loop() last_read_offset = 0; data->iov = { metadata_buffer, (size_t)bs->dsk.meta_block_size }; data->callback = [this](ring_data_t *data) { handle_event(data, -1); }; - my_uring_prep_readv(sqe, bs->dsk.meta_fd, &data->iov, 1, bs->dsk.meta_offset); + io_uring_prep_readv(sqe, bs->dsk.meta_fd, &data->iov, 1, bs->dsk.meta_offset); bs->ringloop->submit(); submitted++; resume_1: @@ -104,7 +104,7 @@ resume_1: last_read_offset = 0; data->iov = (struct iovec){ metadata_buffer, (size_t)bs->dsk.meta_block_size }; data->callback = [this](ring_data_t *data) { handle_event(data, -1); }; - my_uring_prep_writev(sqe, bs->dsk.meta_fd, &data->iov, 1, bs->dsk.meta_offset); + io_uring_prep_writev(sqe, bs->dsk.meta_fd, &data->iov, 1, bs->dsk.meta_offset); bs->ringloop->submit(); submitted++; resume_3: @@ -213,12 +213,12 @@ resume_2: data->iov = { bufs[i].buf, (size_t)bufs[i].size }; data->callback = [this, i](ring_data_t *data) { handle_event(data, i); }; if (!zero_on_init) - my_uring_prep_readv(sqe, bs->dsk.meta_fd, &data->iov, 1, bs->dsk.meta_offset + bufs[i].offset); + io_uring_prep_readv(sqe, bs->dsk.meta_fd, &data->iov, 1, bs->dsk.meta_offset + bufs[i].offset); else { // Fill metadata with zeroes memset(data->iov.iov_base, 0, data->iov.iov_len); - my_uring_prep_writev(sqe, bs->dsk.meta_fd, &data->iov, 1, bs->dsk.meta_offset + bufs[i].offset); + io_uring_prep_writev(sqe, bs->dsk.meta_fd, &data->iov, 1, bs->dsk.meta_offset + bufs[i].offset); } bs->ringloop->submit(); break; @@ -245,7 +245,7 @@ resume_2: assert(bufs[i].size <= 0x7fffffff); data->iov = { bufs[i].buf, (size_t)bufs[i].size }; data->callback = [this, i](ring_data_t *data) { handle_event(data, i); }; - my_uring_prep_writev(sqe, bs->dsk.meta_fd, &data->iov, 1, bs->dsk.meta_offset + bufs[i].offset); + io_uring_prep_writev(sqe, bs->dsk.meta_fd, &data->iov, 1, bs->dsk.meta_offset + bufs[i].offset); bs->ringloop->submit(); bufs[i].state = INIT_META_WRITING; submitted++; @@ -274,7 +274,7 @@ resume_2: last_read_offset = (1+next_offset)*bs->dsk.meta_block_size; data->iov = { metadata_buffer, (size_t)bs->dsk.meta_block_size }; data->callback = [this](ring_data_t *data) { handle_event(data, -1); }; - my_uring_prep_readv(sqe, bs->dsk.meta_fd, &data->iov, 1, bs->dsk.meta_offset + (1+next_offset)*bs->dsk.meta_block_size); + io_uring_prep_readv(sqe, bs->dsk.meta_fd, &data->iov, 1, bs->dsk.meta_offset + (1+next_offset)*bs->dsk.meta_block_size); bs->ringloop->submit(); submitted++; resume_5: @@ -291,7 +291,7 @@ resume_5: GET_SQE(); data->iov = { metadata_buffer, (size_t)bs->dsk.meta_block_size }; data->callback = [this](ring_data_t *data) { handle_event(data, -1); }; - my_uring_prep_writev(sqe, bs->dsk.meta_fd, &data->iov, 1, bs->dsk.meta_offset + (1+next_offset)*bs->dsk.meta_block_size); + io_uring_prep_writev(sqe, bs->dsk.meta_fd, &data->iov, 1, bs->dsk.meta_offset + (1+next_offset)*bs->dsk.meta_block_size); bs->ringloop->submit(); submitted++; resume_6: @@ -313,7 +313,7 @@ resume_6: if (zero_on_init && !bs->disable_meta_fsync) { GET_SQE(); - my_uring_prep_fsync(sqe, bs->dsk.meta_fd, IORING_FSYNC_DATASYNC); + io_uring_prep_fsync(sqe, bs->dsk.meta_fd, IORING_FSYNC_DATASYNC); last_read_offset = 0; data->iov = { 0 }; data->callback = [this](ring_data_t *data) { handle_event(data, -1); }; @@ -495,7 +495,7 @@ int blockstore_init_journal::loop() data = ((ring_data_t*)sqe->user_data); data->iov = { submitted_buf, (size_t)bs->journal.block_size }; data->callback = simple_callback; - my_uring_prep_readv(sqe, bs->dsk.journal_fd, &data->iov, 1, bs->journal.offset); + io_uring_prep_readv(sqe, bs->dsk.journal_fd, &data->iov, 1, bs->journal.offset); bs->ringloop->submit(); wait_count = 1; resume_1: @@ -536,7 +536,7 @@ resume_1: GET_SQE(); data->iov = (struct iovec){ submitted_buf, (size_t)(2*bs->journal.block_size) }; data->callback = simple_callback; - my_uring_prep_writev(sqe, bs->dsk.journal_fd, &data->iov, 1, bs->journal.offset); + io_uring_prep_writev(sqe, bs->dsk.journal_fd, &data->iov, 1, bs->journal.offset); wait_count++; bs->ringloop->submit(); resume_6: @@ -548,7 +548,7 @@ resume_1: if (!bs->disable_journal_fsync) { GET_SQE(); - my_uring_prep_fsync(sqe, bs->dsk.journal_fd, IORING_FSYNC_DATASYNC); + io_uring_prep_fsync(sqe, bs->dsk.journal_fd, IORING_FSYNC_DATASYNC); data->iov = { 0 }; data->callback = simple_callback; wait_count++; @@ -636,7 +636,7 @@ resume_1: (size_t)(end - journal_pos < JOURNAL_BUFFER_SIZE ? end - journal_pos : JOURNAL_BUFFER_SIZE), }; data->callback = [this](ring_data_t *data1) { handle_event(data1); }; - my_uring_prep_readv(sqe, bs->dsk.journal_fd, &data->iov, 1, bs->journal.offset + journal_pos); + io_uring_prep_readv(sqe, bs->dsk.journal_fd, &data->iov, 1, bs->journal.offset + journal_pos); bs->ringloop->submit(); } while (done.size() > 0) @@ -651,7 +651,7 @@ resume_1: GET_SQE(); data->iov = { init_write_buf, (size_t)bs->journal.block_size }; data->callback = simple_callback; - my_uring_prep_writev(sqe, bs->dsk.journal_fd, &data->iov, 1, bs->journal.offset + init_write_sector); + io_uring_prep_writev(sqe, bs->dsk.journal_fd, &data->iov, 1, bs->journal.offset + init_write_sector); wait_count++; bs->ringloop->submit(); resume_7: @@ -665,7 +665,7 @@ resume_1: GET_SQE(); data->iov = { 0 }; data->callback = simple_callback; - my_uring_prep_fsync(sqe, bs->dsk.journal_fd, IORING_FSYNC_DATASYNC); + io_uring_prep_fsync(sqe, bs->dsk.journal_fd, IORING_FSYNC_DATASYNC); wait_count++; bs->ringloop->submit(); } diff --git a/src/blockstore/blockstore_journal.cpp b/src/blockstore/blockstore_journal.cpp index 0830f44f..e2b28dc8 100644 --- a/src/blockstore/blockstore_journal.cpp +++ b/src/blockstore/blockstore_journal.cpp @@ -190,7 +190,7 @@ void blockstore_impl_t::prepare_journal_sector_write(int cur_sector, blockstore_ (size_t)journal.block_size }; data->callback = [this, flush_id = journal.submit_id](ring_data_t *data) { handle_journal_write(data, flush_id); }; - my_uring_prep_writev( + io_uring_prep_writev( sqe, dsk.journal_fd, &data->iov, 1, journal.offset + journal.sector_info[cur_sector].offset ); } diff --git a/src/blockstore/blockstore_read.cpp b/src/blockstore/blockstore_read.cpp index ce9ec787..15d6e091 100644 --- a/src/blockstore/blockstore_read.cpp +++ b/src/blockstore/blockstore_read.cpp @@ -27,7 +27,7 @@ int blockstore_impl_t::fulfill_read_push(blockstore_op_t *op, void *buf, uint64_ BS_SUBMIT_GET_SQE(sqe, data); data->iov = (struct iovec){ buf, (size_t)len }; PRIV(op)->pending_ops++; - my_uring_prep_readv( + io_uring_prep_readv( sqe, IS_JOURNAL(item_state) ? dsk.journal_fd : dsk.data_fd, &data->iov, 1, @@ -356,7 +356,7 @@ bool blockstore_impl_t::read_checksum_block(blockstore_op_t *op, int rv_pos, uin int n_cur = n_iov-n_pos < IOV_MAX ? n_iov-n_pos : IOV_MAX; BS_SUBMIT_GET_SQE(sqe, data); PRIV(op)->pending_ops++; - my_uring_prep_readv(sqe, submit_fd, iov + n_pos, n_cur, submit_offset + clean_loc + item_start + d_pos); + io_uring_prep_readv(sqe, submit_fd, iov + n_pos, n_cur, submit_offset + clean_loc + item_start + d_pos); data->callback = [this, op](ring_data_t *data) { handle_read_event(data, op); }; if (n_pos > 0 || n_pos + IOV_MAX < n_iov) { @@ -702,7 +702,7 @@ uint8_t* blockstore_impl_t::read_clean_meta_block(blockstore_op_t *op, uint64_t BS_SUBMIT_GET_SQE(sqe, data); data->iov = (struct iovec){ buf, (size_t)dsk.meta_block_size }; PRIV(op)->pending_ops++; - my_uring_prep_readv(sqe, dsk.meta_fd, &data->iov, 1, dsk.meta_offset + dsk.meta_block_size + sector); + io_uring_prep_readv(sqe, dsk.meta_fd, &data->iov, 1, dsk.meta_offset + dsk.meta_block_size + sector); data->callback = [this, op](ring_data_t *data) { handle_read_event(data, op); }; // return pointer to checksums + bitmap return buf + pos + sizeof(clean_disk_entry); diff --git a/src/blockstore/blockstore_rollback.cpp b/src/blockstore/blockstore_rollback.cpp index 19a1435d..fed4a07b 100644 --- a/src/blockstore/blockstore_rollback.cpp +++ b/src/blockstore/blockstore_rollback.cpp @@ -101,7 +101,7 @@ resume_2: if (!disable_journal_fsync) { BS_SUBMIT_GET_SQE(sqe, data); - my_uring_prep_fsync(sqe, dsk.journal_fd, IORING_FSYNC_DATASYNC); + io_uring_prep_fsync(sqe, dsk.journal_fd, IORING_FSYNC_DATASYNC); data->iov = { 0 }; data->callback = [this, op](ring_data_t *data) { handle_write_event(data, op); }; PRIV(op)->min_flushed_journal_sector = PRIV(op)->max_flushed_journal_sector = 0; diff --git a/src/blockstore/blockstore_stable.cpp b/src/blockstore/blockstore_stable.cpp index d88b5f2d..bb52a776 100644 --- a/src/blockstore/blockstore_stable.cpp +++ b/src/blockstore/blockstore_stable.cpp @@ -400,7 +400,7 @@ resume_2: if (!disable_journal_fsync) { BS_SUBMIT_GET_SQE(sqe, data); - my_uring_prep_fsync(sqe, dsk.journal_fd, IORING_FSYNC_DATASYNC); + io_uring_prep_fsync(sqe, dsk.journal_fd, IORING_FSYNC_DATASYNC); data->iov = { 0 }; data->callback = [this, op](ring_data_t *data) { handle_write_event(data, op); }; PRIV(op)->min_flushed_journal_sector = PRIV(op)->max_flushed_journal_sector = 0; diff --git a/src/blockstore/blockstore_sync.cpp b/src/blockstore/blockstore_sync.cpp index 99e945a6..7a653185 100644 --- a/src/blockstore/blockstore_sync.cpp +++ b/src/blockstore/blockstore_sync.cpp @@ -58,7 +58,7 @@ int blockstore_impl_t::continue_sync(blockstore_op_t *op) if (!disable_data_fsync) { BS_SUBMIT_GET_SQE(sqe, data); - my_uring_prep_fsync(sqe, dsk.data_fd, IORING_FSYNC_DATASYNC); + io_uring_prep_fsync(sqe, dsk.data_fd, IORING_FSYNC_DATASYNC); data->iov = { 0 }; data->callback = [this, op](ring_data_t *data) { handle_write_event(data, op); }; PRIV(op)->min_flushed_journal_sector = PRIV(op)->max_flushed_journal_sector = 0; @@ -149,7 +149,7 @@ int blockstore_impl_t::continue_sync(blockstore_op_t *op) if (!disable_journal_fsync) { BS_SUBMIT_GET_SQE(sqe, data); - my_uring_prep_fsync(sqe, dsk.journal_fd, IORING_FSYNC_DATASYNC); + io_uring_prep_fsync(sqe, dsk.journal_fd, IORING_FSYNC_DATASYNC); data->iov = { 0 }; data->callback = [this, op](ring_data_t *data) { handle_write_event(data, op); }; PRIV(op)->min_flushed_journal_sector = PRIV(op)->max_flushed_journal_sector = 0; diff --git a/src/blockstore/blockstore_write.cpp b/src/blockstore/blockstore_write.cpp index cc3233e8..9eac8c97 100644 --- a/src/blockstore/blockstore_write.cpp +++ b/src/blockstore/blockstore_write.cpp @@ -365,7 +365,7 @@ int blockstore_impl_t::dequeue_write(blockstore_op_t *op) } data->iov.iov_len = op->len + stripe_offset + stripe_end; // to check it in the callback data->callback = [this, op](ring_data_t *data) { handle_write_event(data, op); }; - my_uring_prep_writev( + io_uring_prep_writev( sqe, dsk.data_fd, PRIV(op)->iov_zerofill, vcnt, dsk.data_offset + (loc << dsk.block_order) + op->offset - stripe_offset ); PRIV(op)->pending_ops = 1; @@ -492,7 +492,7 @@ int blockstore_impl_t::dequeue_write(blockstore_op_t *op) .op = op, }); data2->callback = [this, flush_id = journal.submit_id](ring_data_t *data) { handle_journal_write(data, flush_id); }; - my_uring_prep_writev( + io_uring_prep_writev( sqe2, dsk.journal_fd, &data2->iov, 1, journal.offset + journal.next_free ); PRIV(op)->pending_ops++; diff --git a/src/client/messenger.cpp b/src/client/messenger.cpp index c95d7f78..0b471bbd 100644 --- a/src/client/messenger.cpp +++ b/src/client/messenger.cpp @@ -70,7 +70,7 @@ void msgr_iothread_t::add_to_ringloop(ring_loop_t *outer_loop) assert(sqe != NULL); this->outer_loop = outer_loop; this->outer_loop_data = ((ring_data_t*)sqe->user_data); - my_uring_prep_poll_add(sqe, eventfd, POLLIN); + io_uring_prep_poll_add(sqe, eventfd, POLLIN); outer_loop_data->callback = [this](ring_data_t *data) { if (data->res < 0) diff --git a/src/client/msgr_receive.cpp b/src/client/msgr_receive.cpp index a0afb345..2462b336 100644 --- a/src/client/msgr_receive.cpp +++ b/src/client/msgr_receive.cpp @@ -48,7 +48,7 @@ void osd_messenger_t::read_requests() } ring_data_t* data = ((ring_data_t*)sqe->user_data); data->callback = [this, cl](ring_data_t *data) { handle_read(data->res, cl); }; - my_uring_prep_recvmsg(sqe, peer_fd, &cl->read_msg, 0); + io_uring_prep_recvmsg(sqe, peer_fd, &cl->read_msg, 0); if (iothread) { iothread->add_sqe(sqe_local); diff --git a/src/client/msgr_send.cpp b/src/client/msgr_send.cpp index 80ac9117..a411b25d 100644 --- a/src/client/msgr_send.cpp +++ b/src/client/msgr_send.cpp @@ -218,11 +218,11 @@ bool osd_messenger_t::try_send(osd_client_t *cl) } if (use_zc) { - my_uring_prep_sendmsg_zc(sqe, peer_fd, &cl->write_msg, MSG_WAITALL); + io_uring_prep_sendmsg_zc(sqe, peer_fd, &cl->write_msg, MSG_WAITALL); } else { - my_uring_prep_sendmsg(sqe, peer_fd, &cl->write_msg, MSG_WAITALL); + io_uring_prep_sendmsg(sqe, peer_fd, &cl->write_msg, MSG_WAITALL); } if (iothread) { diff --git a/src/client/nbd_proxy.cpp b/src/client/nbd_proxy.cpp index 266a2a35..8587e074 100644 --- a/src/client/nbd_proxy.cpp +++ b/src/client/nbd_proxy.cpp @@ -1008,7 +1008,7 @@ protected: data->callback = [this](ring_data_t *data) { handle_send(data->res); }; send_msg.msg_iov = send_list.data(); send_msg.msg_iovlen = send_list.size(); - my_uring_prep_sendmsg(sqe, nbd_fd, &send_msg, MSG_ZEROCOPY); + io_uring_prep_sendmsg(sqe, nbd_fd, &send_msg, MSG_ZEROCOPY); } void handle_send(int result) @@ -1076,7 +1076,7 @@ protected: } read_msg.msg_iov = &read_iov; read_msg.msg_iovlen = 1; - my_uring_prep_recvmsg(sqe, nbd_fd, &read_msg, 0); + io_uring_prep_recvmsg(sqe, nbd_fd, &read_msg, 0); } void handle_read(int result) diff --git a/src/cmd/cli_dd.cpp b/src/cmd/cli_dd.cpp index ca7aa0f6..8fac970a 100644 --- a/src/cmd/cli_dd.cpp +++ b/src/cmd/cli_dd.cpp @@ -540,7 +540,7 @@ struct cli_dd_t } ring_data_t *data = ((ring_data_t*)sqe->user_data); data->iov = (iovec){ (uint8_t*)cur_read->buf + cur_read->len, cur_read->max - cur_read->len }; - my_uring_prep_readv(sqe, iinfo.ifd, &data->iov, 1, iinfo.in_seekable ? iseek + cur_read->offset + cur_read->len : -1); + io_uring_prep_readv(sqe, iinfo.ifd, &data->iov, 1, iinfo.in_seekable ? iseek + cur_read->offset + cur_read->len : -1); in_waiting++; data->callback = [this, cur_read](ring_data_t *data) { @@ -673,7 +673,7 @@ struct cli_dd_t } ring_data_t *data = ((ring_data_t*)sqe->user_data); data->iov = (iovec){ .iov_base = (uint8_t*)cur_read->buf+cur_read->len, .iov_len = cur_read->max-cur_read->len }; - my_uring_prep_writev(sqe, oinfo.ofd, &data->iov, 1, oinfo.out_seekable ? cur_read->offset+cur_read->len+oseek : -1); + io_uring_prep_writev(sqe, oinfo.ofd, &data->iov, 1, oinfo.out_seekable ? cur_read->offset+cur_read->len+oseek : -1); out_waiting++; data->callback = [this, cur_read](ring_data_t *data) { diff --git a/src/disk_tool/disk_tool_resize.cpp b/src/disk_tool/disk_tool_resize.cpp index b058d776..99e90bc1 100644 --- a/src/disk_tool/disk_tool_resize.cpp +++ b/src/disk_tool/disk_tool_resize.cpp @@ -294,7 +294,7 @@ int disk_tool_t::resize_copy_data() moving_blocks[i].state = DM_ST_READING; struct ring_data_t *data = ((ring_data_t*)sqe->user_data); data->iov = (struct iovec){ moving_blocks[i].buf, dsk.data_block_size }; - my_uring_prep_readv(sqe, dsk.data_fd, &data->iov, 1, dsk.data_offset + moving_blocks[i].old_loc*dsk.data_block_size); + io_uring_prep_readv(sqe, dsk.data_fd, &data->iov, 1, dsk.data_offset + moving_blocks[i].old_loc*dsk.data_block_size); data->callback = [this, i](ring_data_t *data) { if (data->res != dsk.data_block_size) @@ -319,7 +319,7 @@ int disk_tool_t::resize_copy_data() moving_blocks[i].state = DM_ST_WRITING; struct ring_data_t *data = ((ring_data_t*)sqe->user_data); data->iov = (struct iovec){ moving_blocks[i].buf, dsk.data_block_size }; - my_uring_prep_writev(sqe, dsk.data_fd, &data->iov, 1, dsk.data_offset + moving_blocks[i].new_loc*dsk.data_block_size); + io_uring_prep_writev(sqe, dsk.data_fd, &data->iov, 1, dsk.data_offset + moving_blocks[i].new_loc*dsk.data_block_size); data->callback = [this, i](ring_data_t *data) { if (data->res != dsk.data_block_size) diff --git a/src/nfs/nfs_proxy.cpp b/src/nfs/nfs_proxy.cpp index e4570cb8..6feca115 100644 --- a/src/nfs/nfs_proxy.cpp +++ b/src/nfs/nfs_proxy.cpp @@ -688,7 +688,7 @@ void nfs_client_t::submit_read(unsigned wanted_size) read_msg.msg_iovlen = 1; ring_data_t* data = ((ring_data_t*)sqe->user_data); data->callback = [this](ring_data_t *data) { handle_read(data->res); }; - my_uring_prep_recvmsg(sqe, nfs_fd, &read_msg, 0); + io_uring_prep_recvmsg(sqe, nfs_fd, &read_msg, 0); refs++; } @@ -815,7 +815,7 @@ void nfs_client_t::submit_send() write_msg.msg_iovlen = send_list.size() < IOV_MAX ? send_list.size() : IOV_MAX; ring_data_t* data = ((ring_data_t*)sqe->user_data); data->callback = [this](ring_data_t *data) { handle_send(data->res); }; - my_uring_prep_sendmsg(sqe, nfs_fd, &write_msg, 0); + io_uring_prep_sendmsg(sqe, nfs_fd, &write_msg, 0); refs++; } diff --git a/src/util/epoll_manager.cpp b/src/util/epoll_manager.cpp index 4a299e57..25ada07b 100644 --- a/src/util/epoll_manager.cpp +++ b/src/util/epoll_manager.cpp @@ -120,7 +120,7 @@ void epoll_manager_t::handle_uring_event() } pending = false; ring_data_t *data = ((ring_data_t*)sqe->user_data); - my_uring_prep_poll_add(sqe, epoll_fd, POLLIN); + io_uring_prep_poll_add(sqe, epoll_fd, POLLIN); data->callback = [this](ring_data_t *data) { if (data->res < 0 && data->res != -ECANCELED) diff --git a/src/util/ringloop.cpp b/src/util/ringloop.cpp index 99d6a15f..0ebc08bd 100644 --- a/src/util/ringloop.cpp +++ b/src/util/ringloop.cpp @@ -10,10 +10,6 @@ #include "ringloop.h" -#ifndef IORING_CQE_F_MORE -#define IORING_CQE_F_MORE (1U << 1) -#endif - ring_loop_t::ring_loop_t(int qd, bool multithreaded) { mt = multithreaded; @@ -38,11 +34,7 @@ ring_loop_t::ring_loop_t(int qd, bool multithreaded) if (probe) { support_zc = io_uring_opcode_supported(probe, IORING_OP_SENDMSG_ZC); -#ifdef IORING_SETUP_R_DISABLED /* liburing 2.0 check */ io_uring_free_probe(probe); -#else - free(probe); -#endif } } diff --git a/src/util/ringloop.h b/src/util/ringloop.h index 03f39a07..916f6e58 100644 --- a/src/util/ringloop.h +++ b/src/util/ringloop.h @@ -18,106 +18,6 @@ #define RINGLOOP_DEFAULT_SIZE 1024 -#ifndef IORING_RECV_MULTISHOT /* liburing-2.3 check */ -#define IORING_OP_SENDMSG_ZC 48 -#endif - -static inline void my_uring_prep_rw(int op, struct io_uring_sqe *sqe, int fd, const void *addr, unsigned len, off_t offset) -{ - // Prepare a read/write operation without clearing user_data - // Very recently, 22 Dec 2021, liburing finally got this change too (8ecd3fd959634df81d66af8b3a69c16202a014e8) - // But all versions prior to it (sadly) clear user_data - __u64 user_data = sqe->user_data; - io_uring_prep_rw(op, sqe, fd, addr, len, offset); - sqe->user_data = user_data; -} - -static inline void my_uring_prep_readv(struct io_uring_sqe *sqe, int fd, const struct iovec *iovecs, unsigned nr_vecs, off_t offset) -{ - my_uring_prep_rw(IORING_OP_READV, sqe, fd, iovecs, nr_vecs, offset); -} - -static inline void my_uring_prep_read_fixed(struct io_uring_sqe *sqe, int fd, void *buf, unsigned nbytes, off_t offset, int buf_index) -{ - my_uring_prep_rw(IORING_OP_READ_FIXED, sqe, fd, buf, nbytes, offset); - sqe->buf_index = buf_index; -} - -static inline void my_uring_prep_writev(struct io_uring_sqe *sqe, int fd, const struct iovec *iovecs, unsigned nr_vecs, off_t offset) -{ - my_uring_prep_rw(IORING_OP_WRITEV, sqe, fd, iovecs, nr_vecs, offset); -} - -static inline void my_uring_prep_write_fixed(struct io_uring_sqe *sqe, int fd, const void *buf, unsigned nbytes, off_t offset, int buf_index) -{ - my_uring_prep_rw(IORING_OP_WRITE_FIXED, sqe, fd, buf, nbytes, offset); - sqe->buf_index = buf_index; -} - -static inline void my_uring_prep_recvmsg(struct io_uring_sqe *sqe, int fd, struct msghdr *msg, unsigned flags) -{ - my_uring_prep_rw(IORING_OP_RECVMSG, sqe, fd, msg, 1, 0); - sqe->msg_flags = flags; -} - -static inline void my_uring_prep_sendmsg(struct io_uring_sqe *sqe, int fd, const struct msghdr *msg, unsigned flags) -{ - my_uring_prep_rw(IORING_OP_SENDMSG, sqe, fd, msg, 1, 0); - sqe->msg_flags = flags; -} - -static inline void my_uring_prep_sendmsg_zc(struct io_uring_sqe *sqe, int fd, const struct msghdr *msg, unsigned flags) -{ - my_uring_prep_rw(IORING_OP_SENDMSG_ZC, sqe, fd, msg, 1, 0); - sqe->msg_flags = flags; -} - -static inline void my_uring_prep_poll_add(struct io_uring_sqe *sqe, int fd, short poll_mask) -{ - my_uring_prep_rw(IORING_OP_POLL_ADD, sqe, fd, NULL, 0, 0); - sqe->poll_events = poll_mask; -} - -static inline void my_uring_prep_poll_remove(struct io_uring_sqe *sqe, void *user_data) -{ - my_uring_prep_rw(IORING_OP_POLL_REMOVE, sqe, 0, user_data, 0, 0); -} - -static inline void my_uring_prep_fsync(struct io_uring_sqe *sqe, int fd, unsigned fsync_flags) -{ - my_uring_prep_rw(IORING_OP_FSYNC, sqe, fd, NULL, 0, 0); - sqe->fsync_flags = fsync_flags; -} - -static inline void my_uring_prep_nop(struct io_uring_sqe *sqe) -{ - my_uring_prep_rw(IORING_OP_NOP, sqe, 0, NULL, 0, 0); -} - -static inline void my_uring_prep_timeout(struct io_uring_sqe *sqe, struct __kernel_timespec *ts, unsigned count, unsigned flags) -{ - my_uring_prep_rw(IORING_OP_TIMEOUT, sqe, 0, ts, 1, count); - sqe->timeout_flags = flags; -} - -static inline void my_uring_prep_timeout_remove(struct io_uring_sqe *sqe, __u64 user_data, unsigned flags) -{ - my_uring_prep_rw(IORING_OP_TIMEOUT_REMOVE, sqe, 0, (void *)user_data, 0, 0); - sqe->timeout_flags = flags; -} - -static inline void my_uring_prep_accept(struct io_uring_sqe *sqe, int fd, struct sockaddr *addr, socklen_t *addrlen, int flags) -{ - my_uring_prep_rw(IORING_OP_ACCEPT, sqe, fd, addr, 0, (__u64) addrlen); - sqe->accept_flags = flags; -} - -static inline void my_uring_prep_cancel(struct io_uring_sqe *sqe, void *user_data, int flags) -{ - my_uring_prep_rw(IORING_OP_ASYNC_CANCEL, sqe, 0, user_data, 0, 0); - sqe->cancel_flags = flags; -} - struct ring_data_t { struct iovec iov; // for single-entry read/write operations