diff mbox

[v5,2/9] nbd: Don't bother tracing an NBD_OPT_ABORT response failure

Message ID 20170707203049.534-3-eblake@redhat.com (mailing list archive)
State New, archived
Headers show

Commit Message

Eric Blake July 7, 2017, 8:30 p.m. UTC
We really don't care if our spec-compliant reply to NBD_OPT_ABORT
was received, so shave off some lines of code by not even tracing it.

Signed-off-by: Eric Blake <eblake@redhat.com>

---
v5: new patch
---
 nbd/server.c | 15 ++++-----------
 1 file changed, 4 insertions(+), 11 deletions(-)

Comments

Vladimir Sementsov-Ogievskiy July 13, 2017, 12:12 p.m. UTC | #1
07.07.2017 23:30, Eric Blake wrote:
> We really don't care if our spec-compliant reply to NBD_OPT_ABORT
> was received, so shave off some lines of code by not even tracing it.
>
> Signed-off-by: Eric Blake <eblake@redhat.com>
>
> ---
> v5: new patch
> ---
>   nbd/server.c | 15 ++++-----------
>   1 file changed, 4 insertions(+), 11 deletions(-)
>
> diff --git a/nbd/server.c b/nbd/server.c
> index 9b0c588..e15385b 100644
> --- a/nbd/server.c
> +++ b/nbd/server.c
> @@ -376,7 +376,6 @@ static int nbd_negotiate_options(NBDClient *client, Error **errp)
>   {
>       uint32_t flags;
>       bool fixedNewstyle = false;
> -    Error *local_err = NULL;
>
>       /* Client sends:
>           [ 0 ..   3]   client flags
> @@ -479,7 +478,9 @@ static int nbd_negotiate_options(NBDClient *client, Error **errp)
>                   if (ret < 0) {
>                       return ret;
>                   }
> -                /* Let the client keep trying, unless they asked to quit */
> +                /* Let the client keep trying, unless they asked to
> +                 * quit. In this mode, we've already sent an error, so
> +                 * we can't ack the abort.  */
>                   if (option == NBD_OPT_ABORT) {
>                       return 1;
>                   }
> @@ -498,15 +499,7 @@ static int nbd_negotiate_options(NBDClient *client, Error **errp)
>                   /* NBD spec says we must try to reply before
>                    * disconnecting, but that we must also tolerate
>                    * guests that don't wait for our reply. */
> -                nbd_negotiate_send_rep(client->ioc, NBD_REP_ACK, option,
> -                                       &local_err);
> -
> -                if (local_err != NULL) {
> -                    const char *error = error_get_pretty(local_err);
> -                    trace_nbd_opt_abort_reply_failed(error);

Looks like you forgot to drop this trace from nbd/trace-events

> -                    error_free(local_err);
> -                }
> -
> +                nbd_negotiate_send_rep(client->ioc, NBD_REP_ACK, option, NULL);
>                   return 1;
>
>               case NBD_OPT_EXPORT_NAME:
Vladimir Sementsov-Ogievskiy July 13, 2017, 12:31 p.m. UTC | #2
13.07.2017 15:12, Vladimir Sementsov-Ogievskiy wrote:
> 07.07.2017 23:30, Eric Blake wrote:
>> We really don't care if our spec-compliant reply to NBD_OPT_ABORT
>> was received, so shave off some lines of code by not even tracing it.
>>
>> Signed-off-by: Eric Blake <eblake@redhat.com>
>>
>> ---
>> v5: new patch
>> ---
>>   nbd/server.c | 15 ++++-----------
>>   1 file changed, 4 insertions(+), 11 deletions(-)
>>
>> diff --git a/nbd/server.c b/nbd/server.c
>> index 9b0c588..e15385b 100644
>> --- a/nbd/server.c
>> +++ b/nbd/server.c
>> @@ -376,7 +376,6 @@ static int nbd_negotiate_options(NBDClient 
>> *client, Error **errp)
>>   {
>>       uint32_t flags;
>>       bool fixedNewstyle = false;
>> -    Error *local_err = NULL;
>>
>>       /* Client sends:
>>           [ 0 ..   3]   client flags
>> @@ -479,7 +478,9 @@ static int nbd_negotiate_options(NBDClient 
>> *client, Error **errp)
>>                   if (ret < 0) {
>>                       return ret;
>>                   }
>> -                /* Let the client keep trying, unless they asked to 
>> quit */
>> +                /* Let the client keep trying, unless they asked to
>> +                 * quit. In this mode, we've already sent an error, so
>> +                 * we can't ack the abort.  */
>>                   if (option == NBD_OPT_ABORT) {
>>                       return 1;
>>                   }
>> @@ -498,15 +499,7 @@ static int nbd_negotiate_options(NBDClient 
>> *client, Error **errp)
>>                   /* NBD spec says we must try to reply before
>>                    * disconnecting, but that we must also tolerate
>>                    * guests that don't wait for our reply. */
>> -                nbd_negotiate_send_rep(client->ioc, NBD_REP_ACK, 
>> option,
>> -                                       &local_err);
>> -
>> -                if (local_err != NULL) {
>> -                    const char *error = error_get_pretty(local_err);
>> -                    trace_nbd_opt_abort_reply_failed(error);
>
> Looks like you forgot to drop this trace from nbd/trace-events
>
>> - error_free(local_err);
>> -                }
>> -
>> +                nbd_negotiate_send_rep(client->ioc, NBD_REP_ACK, 
>> option, NULL);
>>                   return 1;
>>
>>               case NBD_OPT_EXPORT_NAME:
>
>
with fixed:

Reviewed-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
diff mbox

Patch

diff --git a/nbd/server.c b/nbd/server.c
index 9b0c588..e15385b 100644
--- a/nbd/server.c
+++ b/nbd/server.c
@@ -376,7 +376,6 @@  static int nbd_negotiate_options(NBDClient *client, Error **errp)
 {
     uint32_t flags;
     bool fixedNewstyle = false;
-    Error *local_err = NULL;

     /* Client sends:
         [ 0 ..   3]   client flags
@@ -479,7 +478,9 @@  static int nbd_negotiate_options(NBDClient *client, Error **errp)
                 if (ret < 0) {
                     return ret;
                 }
-                /* Let the client keep trying, unless they asked to quit */
+                /* Let the client keep trying, unless they asked to
+                 * quit. In this mode, we've already sent an error, so
+                 * we can't ack the abort.  */
                 if (option == NBD_OPT_ABORT) {
                     return 1;
                 }
@@ -498,15 +499,7 @@  static int nbd_negotiate_options(NBDClient *client, Error **errp)
                 /* NBD spec says we must try to reply before
                  * disconnecting, but that we must also tolerate
                  * guests that don't wait for our reply. */
-                nbd_negotiate_send_rep(client->ioc, NBD_REP_ACK, option,
-                                       &local_err);
-
-                if (local_err != NULL) {
-                    const char *error = error_get_pretty(local_err);
-                    trace_nbd_opt_abort_reply_failed(error);
-                    error_free(local_err);
-                }
-
+                nbd_negotiate_send_rep(client->ioc, NBD_REP_ACK, option, NULL);
                 return 1;

             case NBD_OPT_EXPORT_NAME: