[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH 01/10] vhost-user-blk: reconnect on any error during realize
From: |
Kevin Wolf |
Subject: |
Re: [PATCH 01/10] vhost-user-blk: reconnect on any error during realize |
Date: |
Thu, 11 Nov 2021 18:52:30 +0100 |
Am 11.11.2021 um 16:33 hat Roman Kagan geschrieben:
> vhost-user-blk realize only attempts to reconnect if the previous
> connection attempt failed on "a problem with the connection and not an
> error related to the content (which would fail again the same way in the
> next attempt)".
>
> However this distinction is very subtle, and may be inadvertently broken
> if the code changes somewhere deep down the stack and a new error gets
> propagated up to here.
>
> OTOH now that the number of reconnection attempts is limited it seems
> harmless to try reconnecting on any error.
>
> So relax the condition of whether to retry connecting to check for any
> error.
>
> This patch amends a527e312b5 "vhost-user-blk: Implement reconnection
> during realize".
>
> Signed-off-by: Roman Kagan <rvkagan@yandex-team.ru>
It results in less than perfect error messages. With a modified export
that just crashes qemu-storage-daemon during get_features, I get:
qemu-system-x86_64: -device vhost-user-blk-pci,chardev=c: Failed to read msg
header. Read 0 instead of 12. Original request 1.
qemu-system-x86_64: -device vhost-user-blk-pci,chardev=c: Reconnecting after
error: vhost_backend_init failed: Protocol error
qemu-system-x86_64: -device vhost-user-blk-pci,chardev=c: Reconnecting after
error: Failed to connect to '/tmp/vsock': Connection refused
qemu-system-x86_64: -device vhost-user-blk-pci,chardev=c: Reconnecting after
error: Failed to connect to '/tmp/vsock': Connection refused
qemu-system-x86_64: -device vhost-user-blk-pci,chardev=c: Failed to connect to
'/tmp/vsock': Connection refused
I guess this might be tolerable. On the other hand, the patch doesn't
really fix anything either, but just gets rid of possible subtleties.
Kevin