nbd/server: remove NBDClientNewData

"co" field of NBDClientNewData has never been used, all the way back to
its declaration in commit 1a6245a5. So let's just use client pointer
instead of extra structure.

Signed-off-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Message-Id: <20170602150150.258222-9-vsementsov@virtuozzo.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
master
Vladimir Sementsov-Ogievskiy 2017-06-02 18:01:46 +03:00 committed by Paolo Bonzini
parent ee898b870f
commit c84087f2f5
1 changed files with 7 additions and 18 deletions

View File

@ -535,14 +535,8 @@ static int nbd_negotiate_options(NBDClient *client)
}
}
typedef struct {
NBDClient *client;
Coroutine *co;
} NBDClientNewData;
static coroutine_fn int nbd_negotiate(NBDClientNewData *data)
static coroutine_fn int nbd_negotiate(NBDClient *client)
{
NBDClient *client = data->client;
char buf[8 + 8 + 8 + 128];
int rc;
const uint16_t myflags = (NBD_FLAG_HAS_FLAGS | NBD_FLAG_SEND_TRIM |
@ -1268,8 +1262,7 @@ static void nbd_client_receive_next_request(NBDClient *client)
static coroutine_fn void nbd_co_client_start(void *opaque)
{
NBDClientNewData *data = opaque;
NBDClient *client = data->client;
NBDClient *client = opaque;
NBDExport *exp = client->exp;
if (exp) {
@ -1278,15 +1271,12 @@ static coroutine_fn void nbd_co_client_start(void *opaque)
}
qemu_co_mutex_init(&client->send_lock);
if (nbd_negotiate(data)) {
if (nbd_negotiate(client)) {
client_close(client, false);
goto out;
return;
}
nbd_client_receive_next_request(client);
out:
g_free(data);
}
/*
@ -1302,7 +1292,7 @@ void nbd_client_new(NBDExport *exp,
void (*close_fn)(NBDClient *, bool))
{
NBDClient *client;
NBDClientNewData *data = g_new(NBDClientNewData, 1);
Coroutine *co;
client = g_malloc0(sizeof(NBDClient));
client->refcount = 1;
@ -1318,7 +1308,6 @@ void nbd_client_new(NBDExport *exp,
object_ref(OBJECT(client->ioc));
client->close_fn = close_fn;
data->client = client;
data->co = qemu_coroutine_create(nbd_co_client_start, data);
qemu_coroutine_enter(data->co);
co = qemu_coroutine_create(nbd_co_client_start, client);
qemu_coroutine_enter(co);
}