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 <ebl...@redhat.com>

Reviewed-by: Vladimir Sementsov-Ogievskiy <vsement...@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;


--
Best regards,
Vladimir


Reply via email to