Do not attempt to initialize QEMU driver via vitastor_c_create_qemu_uring()
Test / buildenv (push) Successful in 13s
Details
Test / build (push) Successful in 3m13s
Details
Test / test_cas (push) Successful in 11s
Details
Test / make_test (push) Successful in 43s
Details
Test / test_change_pg_size (push) Successful in 10s
Details
Test / test_change_pg_count (push) Successful in 45s
Details
Test / test_create_nomaxid (push) Successful in 10s
Details
Test / test_change_pg_count_ec (push) Successful in 43s
Details
Test / test_etcd_fail (push) Successful in 1m6s
Details
Test / test_add_osd (push) Successful in 2m40s
Details
Test / test_interrupted_rebalance (push) Successful in 2m12s
Details
Test / test_interrupted_rebalance_ec (push) Successful in 1m41s
Details
Test / test_failure_domain (push) Successful in 37s
Details
Test / test_interrupted_rebalance_ec_imm (push) Successful in 1m33s
Details
Test / test_snapshot (push) Successful in 38s
Details
Test / test_interrupted_rebalance_imm (push) Successful in 3m20s
Details
Test / test_snapshot_ec (push) Successful in 38s
Details
Test / test_minsize_1 (push) Successful in 18s
Details
Test / test_rm (push) Successful in 17s
Details
Test / test_snapshot_down (push) Failing after 26s
Details
Test / test_move_reappear (push) Failing after 52s
Details
Test / test_snapshot_down_ec (push) Failing after 27s
Details
Test / test_splitbrain (push) Successful in 25s
Details
Test / test_snapshot_chain (push) Successful in 2m28s
Details
Test / test_snapshot_chain_ec (push) Successful in 3m6s
Details
Test / test_rebalance_verify (push) Successful in 3m30s
Details
Test / test_rebalance_verify_imm (push) Successful in 3m29s
Details
Test / test_rebalance_verify_ec (push) Has been cancelled
Details
Test / test_write_no_same (push) Has been cancelled
Details
Test / test_heal_pg_size_2 (push) Has been cancelled
Details
Test / test_heal_ec (push) Has been cancelled
Details
Test / test_heal_csum_32k_dmj (push) Has been cancelled
Details
Test / test_heal_csum_32k_dj (push) Has been cancelled
Details
Test / test_heal_csum_32k (push) Has been cancelled
Details
Test / test_heal_csum_4k_dmj (push) Has been cancelled
Details
Test / test_heal_csum_4k_dj (push) Has been cancelled
Details
Test / test_heal_csum_4k (push) Has been cancelled
Details
Test / test_scrub (push) Has been cancelled
Details
Test / test_scrub_zero_osd_2 (push) Has been cancelled
Details
Test / test_scrub_xor (push) Has been cancelled
Details
Test / test_scrub_pg_size_3 (push) Has been cancelled
Details
Test / test_scrub_pg_size_6_pg_minsize_4_osd_count_6_ec (push) Has been cancelled
Details
Test / test_write_xor (push) Has been cancelled
Details
Test / test_scrub_ec (push) Has been cancelled
Details
Test / test_rebalance_verify_ec_imm (push) Has been cancelled
Details
Test / test_write (push) Has been cancelled
Details
Test / buildenv (push) Successful in 13s
Details
Test / build (push) Successful in 3m13s
Details
Test / test_cas (push) Successful in 11s
Details
Test / make_test (push) Successful in 43s
Details
Test / test_change_pg_size (push) Successful in 10s
Details
Test / test_change_pg_count (push) Successful in 45s
Details
Test / test_create_nomaxid (push) Successful in 10s
Details
Test / test_change_pg_count_ec (push) Successful in 43s
Details
Test / test_etcd_fail (push) Successful in 1m6s
Details
Test / test_add_osd (push) Successful in 2m40s
Details
Test / test_interrupted_rebalance (push) Successful in 2m12s
Details
Test / test_interrupted_rebalance_ec (push) Successful in 1m41s
Details
Test / test_failure_domain (push) Successful in 37s
Details
Test / test_interrupted_rebalance_ec_imm (push) Successful in 1m33s
Details
Test / test_snapshot (push) Successful in 38s
Details
Test / test_interrupted_rebalance_imm (push) Successful in 3m20s
Details
Test / test_snapshot_ec (push) Successful in 38s
Details
Test / test_minsize_1 (push) Successful in 18s
Details
Test / test_rm (push) Successful in 17s
Details
Test / test_snapshot_down (push) Failing after 26s
Details
Test / test_move_reappear (push) Failing after 52s
Details
Test / test_snapshot_down_ec (push) Failing after 27s
Details
Test / test_splitbrain (push) Successful in 25s
Details
Test / test_snapshot_chain (push) Successful in 2m28s
Details
Test / test_snapshot_chain_ec (push) Successful in 3m6s
Details
Test / test_rebalance_verify (push) Successful in 3m30s
Details
Test / test_rebalance_verify_imm (push) Successful in 3m29s
Details
Test / test_rebalance_verify_ec (push) Has been cancelled
Details
Test / test_write_no_same (push) Has been cancelled
Details
Test / test_heal_pg_size_2 (push) Has been cancelled
Details
Test / test_heal_ec (push) Has been cancelled
Details
Test / test_heal_csum_32k_dmj (push) Has been cancelled
Details
Test / test_heal_csum_32k_dj (push) Has been cancelled
Details
Test / test_heal_csum_32k (push) Has been cancelled
Details
Test / test_heal_csum_4k_dmj (push) Has been cancelled
Details
Test / test_heal_csum_4k_dj (push) Has been cancelled
Details
Test / test_heal_csum_4k (push) Has been cancelled
Details
Test / test_scrub (push) Has been cancelled
Details
Test / test_scrub_zero_osd_2 (push) Has been cancelled
Details
Test / test_scrub_xor (push) Has been cancelled
Details
Test / test_scrub_pg_size_3 (push) Has been cancelled
Details
Test / test_scrub_pg_size_6_pg_minsize_4_osd_count_6_ec (push) Has been cancelled
Details
Test / test_write_xor (push) Has been cancelled
Details
Test / test_scrub_ec (push) Has been cancelled
Details
Test / test_rebalance_verify_ec_imm (push) Has been cancelled
Details
Test / test_write (push) Has been cancelled
Details
It doesn't add any compatibility because vitastor_c_uring_register_eventfd() is added in the same VITASTOR_C_API_VERSION 2.hotfix-1.1.0
parent
5066e35a49
commit
a061246997
|
@ -388,6 +388,7 @@ static void vitastor_aio_set_fd_handler(void *vcli, int fd, int unused1, IOHandl
|
|||
);
|
||||
}
|
||||
|
||||
#if defined VITASTOR_C_API_VERSION && VITASTOR_C_API_VERSION >= 2
|
||||
typedef struct str_array
|
||||
{
|
||||
const char **items;
|
||||
|
@ -424,6 +425,7 @@ static void strarray_free(str_array *a)
|
|||
a->items = NULL;
|
||||
a->len = a->alloc = 0;
|
||||
}
|
||||
#endif
|
||||
|
||||
static int vitastor_file_open(BlockDriverState *bs, QDict *options, int flags, Error **errp)
|
||||
{
|
||||
|
@ -443,6 +445,7 @@ static int vitastor_file_open(BlockDriverState *bs, QDict *options, int flags, E
|
|||
client->rdma_gid_index = qdict_get_try_int(options, "rdma-gid-index", 0);
|
||||
client->rdma_mtu = qdict_get_try_int(options, "rdma-mtu", 0);
|
||||
client->ctx = bdrv_get_aio_context(bs);
|
||||
#if defined VITASTOR_C_API_VERSION && VITASTOR_C_API_VERSION >= 2
|
||||
str_array opt = {};
|
||||
strarray_push_kv(&opt, "config_path", qdict_get_try_str(options, "config-path"));
|
||||
strarray_push_kv(&opt, "etcd_address", qdict_get_try_str(options, "etcd-host"));
|
||||
|
@ -472,40 +475,15 @@ static int vitastor_file_open(BlockDriverState *bs, QDict *options, int flags, E
|
|||
// Writeback cache is unusable without io_uring because the client can't correctly flush on exit
|
||||
fprintf(stderr, "vitastor: failed to create io_uring: %s - I/O will be slower%s\n",
|
||||
strerror(errno), (flags & BDRV_O_NOCACHE ? "" : " and writeback cache will be disabled"));
|
||||
#endif
|
||||
client->uring_eventfd = -1;
|
||||
#if defined VITASTOR_C_API_VERSION && VITASTOR_C_API_VERSION >= 2
|
||||
client->proxy = vitastor_c_create_qemu_uring(
|
||||
vitastor_aio_set_fd_handler, client, client->config_path, client->etcd_host, client->etcd_prefix,
|
||||
client->use_rdma, client->rdma_device, client->rdma_port_num, client->rdma_gid_index, client->rdma_mtu, 0
|
||||
);
|
||||
if (!client->proxy)
|
||||
{
|
||||
fprintf(stderr, "vitastor: failed to create io_uring: %s - I/O will be slower\n", strerror(errno));
|
||||
client->uring_eventfd = -1;
|
||||
client->proxy = vitastor_c_create_qemu(
|
||||
vitastor_aio_set_fd_handler, client, client->config_path, client->etcd_host, client->etcd_prefix,
|
||||
client->use_rdma, client->rdma_device, client->rdma_port_num, client->rdma_gid_index, client->rdma_mtu, 0
|
||||
);
|
||||
}
|
||||
else
|
||||
{
|
||||
client->uring_eventfd = vitastor_c_uring_register_eventfd(client->proxy);
|
||||
if (client->uring_eventfd < 0)
|
||||
{
|
||||
fprintf(stderr, "vitastor: failed to create io_uring eventfd: %s\n", strerror(errno));
|
||||
error_setg(errp, "failed to create io_uring eventfd");
|
||||
vitastor_close(bs);
|
||||
return -1;
|
||||
}
|
||||
universal_aio_set_fd_handler(client->ctx, client->uring_eventfd, vitastor_uring_handler, NULL, client);
|
||||
}
|
||||
#else
|
||||
client->proxy = vitastor_c_create_qemu(
|
||||
vitastor_aio_set_fd_handler, client, client->config_path, client->etcd_host, client->etcd_prefix,
|
||||
client->use_rdma, client->rdma_device, client->rdma_port_num, client->rdma_gid_index, client->rdma_mtu, 0
|
||||
);
|
||||
#endif
|
||||
#if defined VITASTOR_C_API_VERSION && VITASTOR_C_API_VERSION >= 2
|
||||
}
|
||||
#endif
|
||||
image = client->image = g_strdup(qdict_get_try_str(options, "image"));
|
||||
client->readonly = (flags & BDRV_O_RDWR) ? 1 : 0;
|
||||
// Get image metadata (size and readonly flag) or just wait until the client is ready
|
||||
|
|
Loading…
Reference in New Issue