nbd: Simplify trace of client flags in negotiation
Simplify the tracing of client flags in the server, and return -EINVAL instead of -EIO if we successfully read but don't like those flags. Signed-off-by: Eric Blake <eblake@redhat.com> Message-Id: <20170707203049.534-5-eblake@redhat.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
This commit is contained in:
parent
3736cc5be3
commit
621c4f4eab
@ -396,21 +396,19 @@ static int nbd_negotiate_options(NBDClient *client, Error **errp)
|
||||
error_prepend(errp, "read failed: ");
|
||||
return -EIO;
|
||||
}
|
||||
trace_nbd_negotiate_options_flags();
|
||||
be32_to_cpus(&flags);
|
||||
trace_nbd_negotiate_options_flags(flags);
|
||||
if (flags & NBD_FLAG_C_FIXED_NEWSTYLE) {
|
||||
trace_nbd_negotiate_options_newstyle();
|
||||
fixedNewstyle = true;
|
||||
flags &= ~NBD_FLAG_C_FIXED_NEWSTYLE;
|
||||
}
|
||||
if (flags & NBD_FLAG_C_NO_ZEROES) {
|
||||
trace_nbd_negotiate_options_no_zeroes();
|
||||
client->no_zeroes = true;
|
||||
flags &= ~NBD_FLAG_C_NO_ZEROES;
|
||||
}
|
||||
if (flags != 0) {
|
||||
error_setg(errp, "Unknown client flags 0x%" PRIx32 " received", flags);
|
||||
return -EIO;
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
while (1) {
|
||||
|
@ -35,9 +35,7 @@ nbd_negotiate_handle_export_name(void) "Checking length"
|
||||
nbd_negotiate_handle_export_name_request(const char *name) "Client requested export '%s'"
|
||||
nbd_negotiate_handle_starttls(void) "Setting up TLS"
|
||||
nbd_negotiate_handle_starttls_handshake(void) "Starting TLS handshake"
|
||||
nbd_negotiate_options_flags(void) "Checking client flags"
|
||||
nbd_negotiate_options_newstyle(void) "Client supports fixed newstyle handshake"
|
||||
nbd_negotiate_options_no_zeroes(void) "Client supports no zeroes at handshake end"
|
||||
nbd_negotiate_options_flags(uint32_t flags) "Received client flags 0x%" PRIx32
|
||||
nbd_negotiate_options_check_magic(uint64_t magic) "Checking opts magic 0x%" PRIx64
|
||||
nbd_negotiate_options_check_option(uint32_t option, const char *name) "Checking option 0x%" PRIx32 " (%s)"
|
||||
nbd_negotiate_begin(void) "Beginning negotiation"
|
||||
|
Loading…
Reference in New Issue
Block a user