When listing information about an export, we do not use nbd_block_status() or nbd_can_meta_context(), because we were already utilizing the callback to nbd_opt_list_meta_context() to collect supported context names. In practice, because we also never called nbd_add_meta_context() (important because nbd_opt_list_meta_context() only outputs all possible contexts when passed an empty list on input), we were not causing nbd_opt_info() to invoke NBD_OPT_SET_META_CONTEXT (SET on an empty list selects nothing, so the state machine short-circuits that step). However, now that we have the API to express our intentions, we might as well be explicit that we don't need the server to set any contexts, even if such a change does not impact the amount of traffic sent over the wire in list mode. --- info/list.c | 3 ++- info/show.c | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-)
diff --git a/info/list.c b/info/list.c index 7646bf1..c2741ba 100644 --- a/info/list.c +++ b/info/list.c @@ -1,5 +1,5 @@ /* NBD client library in userspace - * Copyright (C) 2020-2021 Red Hat Inc. + * Copyright (C) 2020-2022 Red Hat Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -104,6 +104,7 @@ list_all_exports (void) } nbd_set_uri_allow_local_file (nbd2, true); /* Allow ?tls-psk-file. */ nbd_set_opt_mode (nbd2, true); + nbd_set_request_meta_context (nbd2, false); nbd_set_full_info (nbd2, true); do_connect (nbd2); diff --git a/info/show.c b/info/show.c index 79038b0..4bf5967 100644 --- a/info/show.c +++ b/info/show.c @@ -1,5 +1,5 @@ /* NBD client library in userspace - * Copyright (C) 2020-2021 Red Hat Inc. + * Copyright (C) 2020-2022 Red Hat Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -65,6 +65,7 @@ show_one_export (struct nbd_handle *nbd, const char *desc, * advertising something it later refuses to serve), return rather * than exit, to allow output on the rest of the list. */ + nbd_set_request_meta_context (nbd, false); if (nbd_aio_is_negotiating (nbd) && nbd_opt_info (nbd) == -1 && nbd_opt_go (nbd) == -1) { -- 2.37.2 _______________________________________________ Libguestfs mailing list Libguestfs@redhat.com https://listman.redhat.com/mailman/listinfo/libguestfs