Re: [Qemu-devel] [PATCH 02/14] nbd/client: More consistent error messages
On 12/5/18 9:03 AM, Vladimir Sementsov-Ogievskiy wrote: 01.12.2018 1:03, Eric Blake wrote: Consolidate on using decimal (not hex) and on outputting the option reply name (not just value) when the client reports protocol discrepancies from the server. While it won't affect normal operation, it makes debugging additions easier. Signed-off-by: Eric Blake --- +error_setg(errp, "Unexpected option type %u (%s) expected %u (%s)", + reply->option, nbd_opt_lookup(reply->option), + opt, nbd_opt_lookup(opt)); @@ -378,9 +380,9 @@ static int nbd_opt_go(QIOChannel *ioc, const char *wantname, return 1; } if (reply.type != NBD_REP_INFO) { -error_setg(errp, "unexpected reply type %" PRIu32 - " (%s), expected %u", - reply.type, nbd_rep_lookup(reply.type), NBD_REP_INFO); +error_setg(errp, "unexpected reply type %u (%s), expected %u (%s)", hmm, we are definitely inconsistent about having comma before "expected" word... anyway, Reviewed-by: Vladimir Sementsov-Ogievskiy That's minor enough; I'll add commas to all instances, but keep your R-b. -- Eric Blake, Principal Software Engineer Red Hat, Inc. +1-919-301-3266 Virtualization: qemu.org | libvirt.org
Re: [Qemu-devel] [PATCH 02/14] nbd/client: More consistent error messages
01.12.2018 1:03, Eric Blake wrote: > Consolidate on using decimal (not hex) and on outputting the > option reply name (not just value) when the client reports > protocol discrepancies from the server. While it won't affect > normal operation, it makes debugging additions easier. > > Signed-off-by: Eric Blake > --- > nbd/client.c | 21 - > 1 file changed, 12 insertions(+), 9 deletions(-) > > diff --git a/nbd/client.c b/nbd/client.c > index b4d457a19ad..b667a1b56fd 100644 > --- a/nbd/client.c > +++ b/nbd/client.c > @@ -132,8 +132,9 @@ static int nbd_receive_option_reply(QIOChannel *ioc, > uint32_t opt, > return -1; > } > if (reply->option != opt) { > -error_setg(errp, "Unexpected option type %x expected %x", > - reply->option, opt); > +error_setg(errp, "Unexpected option type %u (%s) expected %u (%s)", > + reply->option, nbd_opt_lookup(reply->option), > + opt, nbd_opt_lookup(opt)); > nbd_send_opt_abort(ioc); > return -1; > } > @@ -265,8 +266,9 @@ static int nbd_receive_list(QIOChannel *ioc, const char > *want, bool *match, > } > return 0; > } else if (reply.type != NBD_REP_SERVER) { > -error_setg(errp, "Unexpected reply type %" PRIx32 " expected %x", > - reply.type, NBD_REP_SERVER); > +error_setg(errp, "Unexpected reply type %u (%s) expected %u (%s)", > + reply.type, nbd_rep_lookup(reply.type), > + NBD_REP_SERVER, nbd_rep_lookup(NBD_REP_SERVER)); > nbd_send_opt_abort(ioc); > return -1; > } > @@ -378,9 +380,9 @@ static int nbd_opt_go(QIOChannel *ioc, const char > *wantname, > return 1; > } > if (reply.type != NBD_REP_INFO) { > -error_setg(errp, "unexpected reply type %" PRIu32 > - " (%s), expected %u", > - reply.type, nbd_rep_lookup(reply.type), NBD_REP_INFO); > +error_setg(errp, "unexpected reply type %u (%s), expected %u > (%s)", hmm, we are definitely inconsistent about having comma before "expected" word... anyway, Reviewed-by: Vladimir Sementsov-Ogievskiy > + reply.type, nbd_rep_lookup(reply.type), > + NBD_REP_INFO, nbd_rep_lookup(NBD_REP_INFO)); > nbd_send_opt_abort(ioc); > return -1; > } > @@ -704,8 +706,9 @@ static int nbd_negotiate_simple_meta_context(QIOChannel > *ioc, > } > > if (reply.type != NBD_REP_ACK) { > -error_setg(errp, "Unexpected reply type %" PRIx32 " expected %x", > - reply.type, NBD_REP_ACK); > +error_setg(errp, "Unexpected reply type %u (%s) expected %u (%s)", > + reply.type, nbd_rep_lookup(reply.type), > + NBD_REP_ACK, nbd_rep_lookup(NBD_REP_ACK)); > nbd_send_opt_abort(ioc); > return -1; > } > -- Best regards, Vladimir
Re: [Qemu-devel] [PATCH 02/14] nbd/client: More consistent error messages
On Fri, Nov 30, 2018 at 04:03:31PM -0600, Eric Blake wrote: > Consolidate on using decimal (not hex) and on outputting the > option reply name (not just value) when the client reports > protocol discrepancies from the server. While it won't affect > normal operation, it makes debugging additions easier. > > Signed-off-by: Eric Blake > --- > nbd/client.c | 21 - > 1 file changed, 12 insertions(+), 9 deletions(-) > > diff --git a/nbd/client.c b/nbd/client.c > index b4d457a19ad..b667a1b56fd 100644 > --- a/nbd/client.c > +++ b/nbd/client.c > @@ -132,8 +132,9 @@ static int nbd_receive_option_reply(QIOChannel *ioc, > uint32_t opt, > return -1; > } > if (reply->option != opt) { > -error_setg(errp, "Unexpected option type %x expected %x", > - reply->option, opt); > +error_setg(errp, "Unexpected option type %u (%s) expected %u (%s)", > + reply->option, nbd_opt_lookup(reply->option), > + opt, nbd_opt_lookup(opt)); > nbd_send_opt_abort(ioc); > return -1; > } > @@ -265,8 +266,9 @@ static int nbd_receive_list(QIOChannel *ioc, const char > *want, bool *match, > } > return 0; > } else if (reply.type != NBD_REP_SERVER) { > -error_setg(errp, "Unexpected reply type %" PRIx32 " expected %x", > - reply.type, NBD_REP_SERVER); > +error_setg(errp, "Unexpected reply type %u (%s) expected %u (%s)", > + reply.type, nbd_rep_lookup(reply.type), > + NBD_REP_SERVER, nbd_rep_lookup(NBD_REP_SERVER)); > nbd_send_opt_abort(ioc); > return -1; > } > @@ -378,9 +380,9 @@ static int nbd_opt_go(QIOChannel *ioc, const char > *wantname, > return 1; > } > if (reply.type != NBD_REP_INFO) { > -error_setg(errp, "unexpected reply type %" PRIu32 > - " (%s), expected %u", > - reply.type, nbd_rep_lookup(reply.type), NBD_REP_INFO); > +error_setg(errp, "unexpected reply type %u (%s), expected %u > (%s)", > + reply.type, nbd_rep_lookup(reply.type), > + NBD_REP_INFO, nbd_rep_lookup(NBD_REP_INFO)); > nbd_send_opt_abort(ioc); > return -1; > } > @@ -704,8 +706,9 @@ static int nbd_negotiate_simple_meta_context(QIOChannel > *ioc, > } > > if (reply.type != NBD_REP_ACK) { > -error_setg(errp, "Unexpected reply type %" PRIx32 " expected %x", > - reply.type, NBD_REP_ACK); > +error_setg(errp, "Unexpected reply type %u (%s) expected %u (%s)", > + reply.type, nbd_rep_lookup(reply.type), > + NBD_REP_ACK, nbd_rep_lookup(NBD_REP_ACK)); > nbd_send_opt_abort(ioc); > return -1; > } The NBD protocol doc seems to use integers pretty consistently (and certainly not "bare" hex numbers). Obviously having the mnemonic name too is helpful. So: Reviewed-by: Richard W.M. Jones Rich. -- Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones Read my programming and virtualization blog: http://rwmj.wordpress.com virt-top is 'top' for virtual machines. Tiny program with many powerful monitoring features, net stats, disk stats, logging, etc. http://people.redhat.com/~rjones/virt-top
[Qemu-devel] [PATCH 02/14] nbd/client: More consistent error messages
Consolidate on using decimal (not hex) and on outputting the option reply name (not just value) when the client reports protocol discrepancies from the server. While it won't affect normal operation, it makes debugging additions easier. Signed-off-by: Eric Blake --- nbd/client.c | 21 - 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/nbd/client.c b/nbd/client.c index b4d457a19ad..b667a1b56fd 100644 --- a/nbd/client.c +++ b/nbd/client.c @@ -132,8 +132,9 @@ static int nbd_receive_option_reply(QIOChannel *ioc, uint32_t opt, return -1; } if (reply->option != opt) { -error_setg(errp, "Unexpected option type %x expected %x", - reply->option, opt); +error_setg(errp, "Unexpected option type %u (%s) expected %u (%s)", + reply->option, nbd_opt_lookup(reply->option), + opt, nbd_opt_lookup(opt)); nbd_send_opt_abort(ioc); return -1; } @@ -265,8 +266,9 @@ static int nbd_receive_list(QIOChannel *ioc, const char *want, bool *match, } return 0; } else if (reply.type != NBD_REP_SERVER) { -error_setg(errp, "Unexpected reply type %" PRIx32 " expected %x", - reply.type, NBD_REP_SERVER); +error_setg(errp, "Unexpected reply type %u (%s) expected %u (%s)", + reply.type, nbd_rep_lookup(reply.type), + NBD_REP_SERVER, nbd_rep_lookup(NBD_REP_SERVER)); nbd_send_opt_abort(ioc); return -1; } @@ -378,9 +380,9 @@ static int nbd_opt_go(QIOChannel *ioc, const char *wantname, return 1; } if (reply.type != NBD_REP_INFO) { -error_setg(errp, "unexpected reply type %" PRIu32 - " (%s), expected %u", - reply.type, nbd_rep_lookup(reply.type), NBD_REP_INFO); +error_setg(errp, "unexpected reply type %u (%s), expected %u (%s)", + reply.type, nbd_rep_lookup(reply.type), + NBD_REP_INFO, nbd_rep_lookup(NBD_REP_INFO)); nbd_send_opt_abort(ioc); return -1; } @@ -704,8 +706,9 @@ static int nbd_negotiate_simple_meta_context(QIOChannel *ioc, } if (reply.type != NBD_REP_ACK) { -error_setg(errp, "Unexpected reply type %" PRIx32 " expected %x", - reply.type, NBD_REP_ACK); +error_setg(errp, "Unexpected reply type %u (%s) expected %u (%s)", + reply.type, nbd_rep_lookup(reply.type), + NBD_REP_ACK, nbd_rep_lookup(NBD_REP_ACK)); nbd_send_opt_abort(ioc); return -1; } -- 2.17.2