[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-block] [PATCH v3 2/8] nbd: Forbid nbd-server-stop when server
From: |
Vladimir Sementsov-Ogievskiy |
Subject: |
Re: [Qemu-block] [PATCH v3 2/8] nbd: Forbid nbd-server-stop when server is not running |
Date: |
Mon, 14 Jan 2019 08:39:07 +0000 |
11.01.2019 22:47, Eric Blake wrote:
> Since we already forbid other nbd-server commands when not
> in the right state, it is unlikely that any caller was relying
> on a second stop to behave as a silent no-op. Update iotest
> 223 to show the improved behavior.
>
> Signed-off-by: Eric Blake <address@hidden>
Reviewed-by: Vladimir Sementsov-Ogievskiy <address@hidden>
>
> ---
> v3: new patch
> ---
> blockdev-nbd.c | 5 +++++
> tests/qemu-iotests/223 | 2 +-
> tests/qemu-iotests/223.out | 2 +-
> 3 files changed, 7 insertions(+), 2 deletions(-)
>
> diff --git a/blockdev-nbd.c b/blockdev-nbd.c
> index 1d170c80b82..ca584919194 100644
> --- a/blockdev-nbd.c
> +++ b/blockdev-nbd.c
> @@ -214,6 +214,11 @@ void qmp_nbd_server_remove(const char *name,
>
> void qmp_nbd_server_stop(Error **errp)
> {
> + if (!nbd_server) {
> + error_setg(errp, "NBD server not running");
> + return;
> + }
yes, exactly like in qmp_nbd_server_remove
> +
> nbd_export_close_all();
>
> nbd_server_free(nbd_server);
> diff --git a/tests/qemu-iotests/223 b/tests/qemu-iotests/223
> index 61b46a2f066..a4016091b21 100755
> --- a/tests/qemu-iotests/223
> +++ b/tests/qemu-iotests/223
> @@ -172,7 +172,7 @@ _send_qemu_cmd $QEMU_HANDLE
> '{"execute":"nbd-server-remove",
> _send_qemu_cmd $QEMU_HANDLE '{"execute":"nbd-server-remove",
> "arguments":{"name":"n2"}}' "error" # Attempt duplicate clean
> _send_qemu_cmd $QEMU_HANDLE '{"execute":"nbd-server-stop"}' "return"
> -_send_qemu_cmd $QEMU_HANDLE '{"execute":"nbd-server-stop"}' "return" # Oops
> +_send_qemu_cmd $QEMU_HANDLE '{"execute":"nbd-server-stop"}' "error" # Again
hm, interesting, but looks like the latest "return" or "error" is an extra
thing,
we can use "}" for all qmp commands, and it worth adding _send_qmp_cmd wrapper..
But, of course, it's not about these series.
> _send_qemu_cmd $QEMU_HANDLE '{"execute":"quit"}' "return"
>
> # success, all done
> diff --git a/tests/qemu-iotests/223.out b/tests/qemu-iotests/223.out
> index e6ede0591cd..8a4d63a4fc2 100644
> --- a/tests/qemu-iotests/223.out
> +++ b/tests/qemu-iotests/223.out
> @@ -69,6 +69,6 @@ read 2097152/2097152 bytes at offset 2097152
> {"return": {}}
> {"error": {"class": "GenericError", "desc": "Export 'n2' is not found"}}
> {"return": {}}
> -{"return": {}}
> +{"error": {"class": "GenericError", "desc": "NBD server not running"}}
> {"return": {}}
> *** done
>
--
Best regards,
Vladimir
- [Qemu-block] [PATCH v3 0/8] Promote x-nbd-server-add-bitmap to stable, Eric Blake, 2019/01/11
- [Qemu-block] [PATCH v3 2/8] nbd: Forbid nbd-server-stop when server is not running, Eric Blake, 2019/01/11
- Re: [Qemu-block] [PATCH v3 2/8] nbd: Forbid nbd-server-stop when server is not running,
Vladimir Sementsov-Ogievskiy <=
- [Qemu-block] [PATCH v3 1/8] nbd: Add some error case testing to iotests 223, Eric Blake, 2019/01/11
- [Qemu-block] [PATCH v3 3/8] nbd: Only require disabled bitmap for read-only exports, Eric Blake, 2019/01/11
- [Qemu-block] [PATCH v3 4/8] nbd: Merge nbd_export_set_name into nbd_export_new, Eric Blake, 2019/01/11
- [Qemu-block] [PATCH v3 8/8] qemu-nbd: Add --bitmap=NAME option, Eric Blake, 2019/01/11
- [Qemu-block] [PATCH v3 7/8] nbd: Merge nbd_export_bitmap into nbd_export_new, Eric Blake, 2019/01/11
- [Qemu-block] [PATCH v3 5/8] nbd: Allow bitmap export during QMP nbd-server-add, Eric Blake, 2019/01/11