On 5/29/23 18:24, Eric Blake wrote: > Externally, libnbd has been exposing the 64-bit opaque marker for each > NBD packet as the "cookie", because it was less confusing when > contrasted with 'struct nbd_handle *' holding all libnbd state. It > also avoids confusion between the noun 'handle' as a way to identify a > packet and the verb 'handle' for reacting to things like signals. > Upstream NBD changed their spec to favor the name "cookie" based on > our recommendations[1], and so now we can get rid of our last uses of > the old name, keeping nbd-protocol.h in sync with libnbd. > > [1] https://github.com/NetworkBlockDevice/nbd/commit/ca4392eb2b > > Signed-off-by: Eric Blake <ebl...@redhat.com> > --- > common/protocol/nbd-protocol.h | 6 +++--- > server/protocol.c | 24 ++++++++++++------------ > 2 files changed, 15 insertions(+), 15 deletions(-) > > diff --git a/common/protocol/nbd-protocol.h b/common/protocol/nbd-protocol.h > index 0217891e..50275dcd 100644 > --- a/common/protocol/nbd-protocol.h > +++ b/common/protocol/nbd-protocol.h > @@ -193,7 +193,7 @@ struct nbd_request { > uint32_t magic; /* NBD_REQUEST_MAGIC. */ > uint16_t flags; /* Request flags. */ > uint16_t type; /* Request type. */ > - uint64_t handle; /* Opaque handle. */ > + uint64_t cookie; /* Opaque handle. */ > uint64_t offset; /* Request offset. */ > uint32_t count; /* Request length. */ > } NBD_ATTRIBUTE_PACKED; > @@ -202,7 +202,7 @@ struct nbd_request { > struct nbd_simple_reply { > uint32_t magic; /* NBD_SIMPLE_REPLY_MAGIC. */ > uint32_t error; /* NBD_SUCCESS or one of NBD_E*. */ > - uint64_t handle; /* Opaque handle. */ > + uint64_t cookie; /* Opaque handle. */ > } NBD_ATTRIBUTE_PACKED; > > /* Structured reply (server -> client). */ > @@ -210,7 +210,7 @@ struct nbd_structured_reply { > uint32_t magic; /* NBD_STRUCTURED_REPLY_MAGIC. */ > uint16_t flags; /* NBD_REPLY_FLAG_* */ > uint16_t type; /* NBD_REPLY_TYPE_* */ > - uint64_t handle; /* Opaque handle. */ > + uint64_t cookie; /* Opaque handle. */ > uint32_t length; /* Length of payload which follows. */ > } NBD_ATTRIBUTE_PACKED; > > diff --git a/server/protocol.c b/server/protocol.c > index d9a5e282..cb530e65 100644 > --- a/server/protocol.c > +++ b/server/protocol.c > @@ -363,7 +363,7 @@ nbd_errno (int error, uint16_t flags) > } > > static bool > -send_simple_reply (uint64_t handle, uint16_t cmd, uint16_t flags, > +send_simple_reply (uint64_t cookie, uint16_t cmd, uint16_t flags, > const char *buf, uint32_t count, > uint32_t error) > { > @@ -374,7 +374,7 @@ send_simple_reply (uint64_t handle, uint16_t cmd, > uint16_t flags, > int f = (cmd == NBD_CMD_READ && !error) ? SEND_MORE : 0; > > reply.magic = htobe32 (NBD_SIMPLE_REPLY_MAGIC); > - reply.handle = handle; > + reply.cookie = cookie; > reply.error = htobe32 (nbd_errno (error, flags)); > > r = conn->send (&reply, sizeof reply, f); > @@ -395,7 +395,7 @@ send_simple_reply (uint64_t handle, uint16_t cmd, > uint16_t flags, > } > > static bool > -send_structured_reply_read (uint64_t handle, uint16_t cmd, > +send_structured_reply_read (uint64_t cookie, uint16_t cmd, > const char *buf, uint32_t count, uint64_t offset) > { > GET_CONN; > @@ -412,7 +412,7 @@ send_structured_reply_read (uint64_t handle, uint16_t cmd, > assert (cmd == NBD_CMD_READ); > > reply.magic = htobe32 (NBD_STRUCTURED_REPLY_MAGIC); > - reply.handle = handle; > + reply.cookie = cookie; > reply.flags = htobe16 (NBD_REPLY_FLAG_DONE); > reply.type = htobe16 (NBD_REPLY_TYPE_OFFSET_DATA); > reply.length = htobe32 (count + sizeof offset_data); > @@ -522,7 +522,7 @@ extents_to_block_descriptors (struct nbdkit_extents > *extents, > } > > static bool > -send_structured_reply_block_status (uint64_t handle, > +send_structured_reply_block_status (uint64_t cookie, > uint16_t cmd, uint16_t flags, > uint32_t count, uint64_t offset, > struct nbdkit_extents *extents) > @@ -545,7 +545,7 @@ send_structured_reply_block_status (uint64_t handle, > return connection_set_status (STATUS_DEAD); > > reply.magic = htobe32 (NBD_STRUCTURED_REPLY_MAGIC); > - reply.handle = handle; > + reply.cookie = cookie; > reply.flags = htobe16 (NBD_REPLY_FLAG_DONE); > reply.type = htobe16 (NBD_REPLY_TYPE_BLOCK_STATUS); > reply.length = htobe32 (sizeof context_id + > @@ -578,7 +578,7 @@ send_structured_reply_block_status (uint64_t handle, > } > > static bool > -send_structured_reply_error (uint64_t handle, uint16_t cmd, uint16_t flags, > +send_structured_reply_error (uint64_t cookie, uint16_t cmd, uint16_t flags, > uint32_t error) > { > GET_CONN; > @@ -588,7 +588,7 @@ send_structured_reply_error (uint64_t handle, uint16_t > cmd, uint16_t flags, > int r; > > reply.magic = htobe32 (NBD_STRUCTURED_REPLY_MAGIC); > - reply.handle = handle; > + reply.cookie = cookie; > reply.flags = htobe16 (NBD_REPLY_FLAG_DONE); > reply.type = htobe16 (NBD_REPLY_TYPE_ERROR); > reply.length = htobe32 (0 /* no human readable error */ + sizeof > error_data); > @@ -740,16 +740,16 @@ protocol_recv_request_send_reply (void) > */ > if (!conn->structured_replies || > (cmd != NBD_CMD_READ && cmd != NBD_CMD_BLOCK_STATUS)) > - return send_simple_reply (request.handle, cmd, flags, buf, count, error); > + return send_simple_reply (request.cookie, cmd, flags, buf, count, error); > > if (error) > - return send_structured_reply_error (request.handle, cmd, flags, error); > + return send_structured_reply_error (request.cookie, cmd, flags, error); > > if (cmd == NBD_CMD_READ) > - return send_structured_reply_read (request.handle, cmd, buf, count, > + return send_structured_reply_read (request.cookie, cmd, buf, count, > offset); > > /* NBD_CMD_BLOCK_STATUS */ > - return send_structured_reply_block_status (request.handle, cmd, flags, > + return send_structured_reply_block_status (request.cookie, cmd, flags, > count, offset, extents); > }
(I didn't dig into the larger contexts.) Reviewed-by: Laszlo Ersek <ler...@redhat.com> _______________________________________________ Libguestfs mailing list Libguestfs@redhat.com https://listman.redhat.com/mailman/listinfo/libguestfs