From ffe7b10481cf280c46feeb1e28a5712838e20221 Mon Sep 17 00:00:00 2001 From: Johann Latocha Date: Tue, 21 Feb 2012 20:12:17 +0100 Subject: [ALL] Send proper rid --- src/kernel/net.c | 2 ++ src/server/net.c | 2 ++ src/types.h | 2 ++ 3 files changed, 6 insertions(+) diff --git a/src/kernel/net.c b/src/kernel/net.c index 762d0d8..baa2966 100644 --- a/src/kernel/net.c +++ b/src/kernel/net.c @@ -503,6 +503,8 @@ int dnbd3_net_receive(void *data) continue; case CMD_GET_SIZE: + dev->vid = dnbd3_reply.vid; + dev->rid = dnbd3_reply.rid; iov.iov_base = &filesize; iov.iov_len = sizeof(uint64_t); if (kernel_recvmsg(dev->cur_server.sock, &msg, &iov, 1, dnbd3_reply.size, msg.msg_flags) <= 0) diff --git a/src/server/net.c b/src/server/net.c index a42588d..67a64c9 100644 --- a/src/server/net.c +++ b/src/server/net.c @@ -93,6 +93,8 @@ void *dnbd3_handle_query(void *dnbd3_client) } image_file = open(image->file, O_RDONLY); + reply.vid = image->vid; + reply.rid = image->rid; reply.size = sizeof(uint64_t); client->image = image; send(client->sock, (char *) &reply, sizeof(dnbd3_reply_t), 0); diff --git a/src/types.h b/src/types.h index c236db9..38e05f4 100644 --- a/src/types.h +++ b/src/types.h @@ -61,6 +61,8 @@ typedef struct typedef struct { uint16_t cmd; // 2byte + uint16_t vid; // 2byte + uint16_t rid; // 2byte uint16_t error; // 2byte uint64_t size; // 8byte char handle[8]; // 8byte -- cgit v1.2.3-55-g7522