diff mbox series

[v2,3/6] nbd/server: Better error for NBD_OPT_EXPORT_NAME failure

Message ID 20180110230825.18321-4-eblake@redhat.com
State New
Headers show
Series NBD server refactoring before BLOCK_STATUS | expand

Commit Message

Eric Blake Jan. 10, 2018, 11:08 p.m. UTC
When a client abruptly disconnects before we've finished reading
the name sent with NBD_OPT_EXPORT_NAME, we are better off logging
the failure as EIO (we can't communicate with the client), rather
than EINVAL (the client sent bogus data).

Signed-off-by: Eric Blake <eblake@redhat.com>
---
 nbd/server.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Vladimir Sementsov-Ogievskiy Jan. 11, 2018, 5:34 p.m. UTC | #1
11.01.2018 02:08, Eric Blake wrote:
> When a client abruptly disconnects before we've finished reading
> the name sent with NBD_OPT_EXPORT_NAME, we are better off logging
> the failure as EIO (we can't communicate with the client), rather
> than EINVAL (the client sent bogus data).
>
> Signed-off-by: Eric Blake <eblake@redhat.com>

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

> ---
>   nbd/server.c | 2 +-
>   1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/nbd/server.c b/nbd/server.c
> index 08a24b56f4..9943a911c3 100644
> --- a/nbd/server.c
> +++ b/nbd/server.c
> @@ -299,7 +299,7 @@ static int nbd_negotiate_handle_export_name(NBDClient *client,
>       }
>       if (nbd_read(client->ioc, name, client->optlen, errp) < 0) {
>           error_prepend(errp, "read failed: ");
> -        return -EINVAL;
> +        return -EIO;
>       }
>       name[client->optlen] = '\0';
>       client->optlen = 0;
diff mbox series

Patch

diff --git a/nbd/server.c b/nbd/server.c
index 08a24b56f4..9943a911c3 100644
--- a/nbd/server.c
+++ b/nbd/server.c
@@ -299,7 +299,7 @@  static int nbd_negotiate_handle_export_name(NBDClient *client,
     }
     if (nbd_read(client->ioc, name, client->optlen, errp) < 0) {
         error_prepend(errp, "read failed: ");
-        return -EINVAL;
+        return -EIO;
     }
     name[client->optlen] = '\0';
     client->optlen = 0;