提交 c84087f2 编写于 作者: V Vladimir Sementsov-Ogievskiy 提交者: Paolo Bonzini

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: NVladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
Reviewed-by: NEric Blake <eblake@redhat.com>
Message-Id: <20170602150150.258222-9-vsementsov@virtuozzo.com>
Signed-off-by: NPaolo Bonzini <pbonzini@redhat.com>
上级 ee898b87
......@@ -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);
}
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册