Commit 56af2dda authored by Paolo Bonzini's avatar Paolo Bonzini
Browse files

nbd: simplify the nbd_request and nbd_reply structs



These structs are never used to represent the bytes that go over the
network.  The big-endian network data is built into a uint8_t array
in nbd_{receive,send}_{request,reply}.  Remove the unused magic field,
reorder the struct to avoid holes, and remove the packed attribute.

Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
parent f6be6720
Loading
Loading
Loading
Loading
+7 −6
Original line number Diff line number Diff line
@@ -25,19 +25,20 @@
#include "io/channel-socket.h"
#include "crypto/tlscreds.h"

/* Note: these are _NOT_ the same as the network representation of an NBD
 * request and reply!
 */
struct nbd_request {
    uint32_t magic;
    uint32_t type;
    uint64_t handle;
    uint64_t from;
    uint32_t len;
} QEMU_PACKED;
    uint32_t type;
};

struct nbd_reply {
    uint32_t magic;
    uint32_t error;
    uint64_t handle;
} QEMU_PACKED;
    uint32_t error;
};

#define NBD_FLAG_HAS_FLAGS      (1 << 0)        /* Flags are there */
#define NBD_FLAG_READ_ONLY      (1 << 1)        /* Device is read-only */