diff options
Diffstat (limited to 'block/sheepdog.c')
-rw-r--r-- | block/sheepdog.c | 20 |
1 files changed, 7 insertions, 13 deletions
diff --git a/block/sheepdog.c b/block/sheepdog.c index fe8fd923d5..a18315a1ca 100644 --- a/block/sheepdog.c +++ b/block/sheepdog.c @@ -536,14 +536,12 @@ static SocketAddress *sd_socket_address(const char *path, SocketAddress *addr = g_new0(SocketAddress, 1); if (path) { - addr->type = SOCKET_ADDRESS_KIND_UNIX; - addr->u.q_unix.data = g_new0(UnixSocketAddress, 1); - addr->u.q_unix.data->path = g_strdup(path); + addr->type = SOCKET_ADDRESS_TYPE_UNIX; + addr->u.q_unix.path = g_strdup(path); } else { - addr->type = SOCKET_ADDRESS_KIND_INET; - addr->u.inet.data = g_new0(InetSocketAddress, 1); - addr->u.inet.data->host = g_strdup(host ?: SD_DEFAULT_ADDR); - addr->u.inet.data->port = g_strdup(port ?: stringify(SD_DEFAULT_PORT)); + addr->type = SOCKET_ADDRESS_TYPE_INET; + addr->u.inet.host = g_strdup(host ?: SD_DEFAULT_ADDR); + addr->u.inet.port = g_strdup(port ?: stringify(SD_DEFAULT_PORT)); } return addr; @@ -554,7 +552,6 @@ static SocketAddress *sd_server_config(QDict *options, Error **errp) QDict *server = NULL; QObject *crumpled_server = NULL; Visitor *iv = NULL; - SocketAddressFlat *saddr_flat = NULL; SocketAddress *saddr = NULL; Error *local_err = NULL; @@ -574,16 +571,13 @@ static SocketAddress *sd_server_config(QDict *options, Error **errp) * visitor expects the former. */ iv = qobject_input_visitor_new(crumpled_server); - visit_type_SocketAddressFlat(iv, NULL, &saddr_flat, &local_err); + visit_type_SocketAddress(iv, NULL, &saddr, &local_err); if (local_err) { error_propagate(errp, local_err); goto done; } - saddr = socket_address_crumple(saddr_flat); - done: - qapi_free_SocketAddressFlat(saddr_flat); visit_free(iv); qobject_decref(crumpled_server); QDECREF(server); @@ -597,7 +591,7 @@ static int connect_to_sdog(BDRVSheepdogState *s, Error **errp) fd = socket_connect(s->addr, NULL, NULL, errp); - if (s->addr->type == SOCKET_ADDRESS_KIND_INET && fd >= 0) { + if (s->addr->type == SOCKET_ADDRESS_TYPE_INET && fd >= 0) { int ret = socket_set_nodelay(fd); if (ret < 0) { error_report("%s", strerror(errno)); |