From 4b09857fcf27b4803336119b06033766d474ea54 Mon Sep 17 00:00:00 2001 From: John Snow Date: Wed, 18 Jul 2018 22:55:00 +0200 Subject: [PATCH 75/89] nbd/server: fix trace RH-Author: John Snow Message-id: <20180718225511.14878-25-jsnow@redhat.com> Patchwork-id: 81401 O-Subject: [RHEL-7.6 qemu-kvm-rhev PATCH 24/35] nbd/server: fix trace Bugzilla: 1207657 RH-Acked-by: Eric Blake RH-Acked-by: Stefan Hajnoczi RH-Acked-by: Fam Zheng From: Vladimir Sementsov-Ogievskiy Return code = 1 doesn't mean that we parsed base:allocation. Use correct traces in both -parsed and -skipped cases. Signed-off-by: Vladimir Sementsov-Ogievskiy Message-Id: <20180609151758.17343-2-vsementsov@virtuozzo.com> Reviewed-by: Eric Blake [eblake: comment tweaks] Signed-off-by: Eric Blake (cherry picked from commit dbb8b396bb46388cee92e9094c563297d04c43ed) Signed-off-by: John Snow Signed-off-by: Miroslav Rezanina --- nbd/server.c | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/nbd/server.c b/nbd/server.c index 493a926..942c016 100644 --- a/nbd/server.c +++ b/nbd/server.c @@ -736,12 +736,16 @@ static int nbd_negotiate_send_meta_context(NBDClient *client, /* nbd_meta_base_query * - * Handle query to 'base' namespace. For now, only base:allocation context is - * available in it. 'len' is the amount of text remaining to be read from + * Handle queries to 'base' namespace. For now, only the base:allocation + * context is available. 'len' is the amount of text remaining to be read from * the current name, after the 'base:' portion has been stripped. * * Return -errno on I/O error, 0 if option was completely handled by - * sending a reply about inconsistent lengths, or 1 on success. */ + * sending a reply about inconsistent lengths, or 1 on success. + * + * Note: return code = 1 doesn't mean that we've parsed the "base:allocation" + * namespace. It only means that there are no errors. + */ static int nbd_meta_base_query(NBDClient *client, NBDExportMetaContexts *meta, uint32_t len, Error **errp) { @@ -768,10 +772,12 @@ static int nbd_meta_base_query(NBDClient *client, NBDExportMetaContexts *meta, } if (strncmp(query, "allocation", alen) == 0) { + trace_nbd_negotiate_meta_query_parse("base:allocation"); meta->base_allocation = true; + } else { + trace_nbd_negotiate_meta_query_skip("not base:allocation"); } - trace_nbd_negotiate_meta_query_parse("base:allocation"); return 1; } -- 1.8.3.1