[DRBD-user] [PATCH] Fixes malformed json output of paths in drbdsetup show.
Roland Kammerer
roland.kammerer at linbit.com
Thu Feb 13 13:29:02 CET 2020
On Thu, Feb 13, 2020 at 01:16:40PM +0200, Anton Tykhyy wrote:
> This is seen both with standalone connections without paths, and in connections
> with paths that are not standalone (paths list ends with a trailing comma).
> To reproduce the bug:
> drbdsetup new-resource test 0
> drbdsetup new-minor test 0 0
> drbdsetup new-peer test 1 --protocol=C
> drbdsetup show --json test | jq
> # parse error: Expected another key-value pair at line 17, column 13
> ---
> user/v9/drbdsetup.c | 8 ++++----
> 1 file changed, 4 insertions(+), 4 deletions(-)
>
> diff --git a/user/v9/drbdsetup.c b/user/v9/drbdsetup.c
> index 4798cf62..95b58160 100644
> --- a/user/v9/drbdsetup.c
> +++ b/user/v9/drbdsetup.c
> @@ -2190,14 +2190,12 @@ static void show_connection_json(struct
> connections_list *connection, struct pee
> {
> struct peer_devices_list *peer_device;
>
> - printI(QUOTED("_peer_node_id") ": %d,\n",
> connection->ctx.ctx_peer_node_id);
> -
> bool has_disk_options =
> connection_has_disk_options(connection->ctx.ctx_peer_node_id,
> peer_devices);
>
> print_paths(connection);
> if (connection->info.conn_connection_state == C_STANDALONE)
> printI(QUOTED("_is_standalone") ": true,\n");
> - print_options_json(connection->net_conf,
> &show_net_options_ctx, "net", false, has_disk_options);
> + print_options_json(connection->net_conf,
> &show_net_options_ctx, "net", false, true);
>
> if (has_disk_options)
> {
> @@ -2225,8 +2223,10 @@ static void show_connection_json(struct
> connections_list *connection, struct pee
> printed++;
> }
> }
> - printI("]\n");
> + printI("],\n");
> }
> +
> + printI(QUOTED("_peer_node_id") ": %d\n",
> connection->ctx.ctx_peer_node_id);
> }
>
> static void show_volume_json(struct devices_list *device)
> --
> 2.21.0.windows.1
Hi Anton,
looks like the patch got mangled somewhere (newlines), but otherwise it
looks correct, I queued it up for our next release.
Thanks, rck
More information about the drbd-user
mailing list