Displaying 10 results from an estimated 10 matches for "nbd_aio_is_negotiating".
2020 Aug 25
0
ANNOUNCE: libnbd 1.4 - high performance NBD client library
...security issue, please read SECURITY in the source (online here:
https://github.com/libguestfs/libnbd/blob/master/SECURITY). To find
out about previous security issues in libnbd, see libnbd-security(3).
New APIs
nbd_set_opt_mode(3)
nbd_get_opt_mode(3)
nbd_aio_is_negotiating(3)
libnbd 1.4 adds a new “negotiating” state during NBD handshaking.
For backwards compatibility programs must request this before
starting the connection by calling nbd_set_opt_mode(3). You can
find out if the connection is in this state by calling...
2020 Oct 02
0
[libnbd PATCH v2 2/2] info: List available meta-contexts
...desc,
int can_cache, can_df, can_fast_zero, can_flush, can_fua,
can_multi_conn, can_trim, can_zero;
int64_t block_minimum, block_preferred, block_maximum;
+ struct context_list *contexts = NULL;
+ bool show_context = false;
/* Collect the metadata we are going to display. */
+ if (nbd_aio_is_negotiating (nbd) &&
+ nbd_opt_info (nbd) == -1) {
+ fprintf (stderr, "%s\n", nbd_get_error ());
+ exit (EXIT_FAILURE);
+ }
size = nbd_get_size (nbd);
if (size == -1) {
fprintf (stderr, "%s\n", nbd_get_error ());
@@ -387,7 +422,6 @@ list_one_export (struct nbd...
2020 Aug 28
4
[nbdkit PATCH 0/3] .list_exports in nbd plugin
Another series on top of my exportname filter, marking off another
todo bullet point. With this, you can now use the NBD plugin as a
transparent passthrough of all export names served by the remote
server in both directions (list advertisement server to client, and
export name from client to server).
Eric Blake (3):
nbd: Implement .default_export, .export_description
nbd: Add
2020 Aug 14
0
[libnbd PATCH v2 06/13] api: Add nbd_opt_abort and nbd_aio_opt_abort
...* special-cased but moves to DEAD rather than CLOSED.
+ */
+ nbd = nbd_create ();
+ if (nbd == NULL ||
+ nbd_set_opt_mode (nbd, true) == -1 ||
+ nbd_connect_command (nbd, args) == -1) {
+ fprintf (stderr, "%s\n", nbd_get_error ());
+ exit (EXIT_FAILURE);
+ }
+ if (!nbd_aio_is_negotiating (nbd)) {
+ fprintf (stderr, "unexpected state after negotiating\n");
+ exit (EXIT_FAILURE);
+ }
+ /* XXX Test nbd_opt_list when it is implemented */
+ if (nbd_opt_abort (nbd) == -1) {
+ fprintf (stderr, "%s\n", nbd_get_error ());
+ exit (EXIT_FAILURE);
+ }
+ if...
2020 Aug 28
0
[nbdkit PATCH 3/3] nbd: Implement .list_exports
...pt_list (nbd, (nbd_list_callback) { .callback = collect_one,
+ .user_data = exports }) == -1)
+ goto out;
+ r = 0;
+ out:
+ if (r == -1)
+ nbdkit_error ("Unable to get list: %s", nbd_get_error ());
+ if (nbd) {
+ if (nbd_aio_is_negotiating (nbd))
+ nbd_opt_abort (nbd);
+ else if (nbd_aio_is_ready (nbd))
+ nbd_shutdown (nbd, 0);
+ nbd_close (nbd);
+ }
+ return r;
+ }
+#endif
+ return nbdkit_add_default_export (exports);
+}
+
/* Canonical name of default export. */
static const char *
nbdplug_default_...
2020 Oct 02
4
[libnbd PATCH v2 0/2] opt_list_meta_context
In v2: ack'ed preliminary patches have been pushed, and I've added a
lot of testsuite coverage as well as putting the new API to use in
nbdinfo.
Eric Blake (2):
api: Add nbd_opt_list_meta_context
info: List available meta-contexts
lib/internal.h | 1 +
generator/API.ml | 84 ++++++++-
2020 Aug 11
3
[libnbd PATCH] API: Add nbd_set_opt_mode to expose NEGOTIATING state
...otiating. This patch adds several new API:
nbd_set_opt_mode() - called during Created to enable the new mode
nbd_get_opt_mode() - query whether opt mode is enabled
nbd_opt_go() - used in Negotiating state to attempt to use export
nbd_opt_abort() - used in Negotiating state to skip Connected state
nbd_aio_is_negotiating() - used to detect Negotiating state
Older clients that do not use nbd_set_opt_mode see no difference: the
new state is never reached, all configuration (export name, requesting
meta contexts) has to be done in Created state, and the state machine
moves to READY on success. But newer clients that...
2020 Aug 14
18
[libnbd PATCH v2 00/13] Adding nbd_set_opt_mode to improve nbdinfo
Well, I'm not quite done (I still want to get nbdinfo to work on a
single nbd connection for all cases when reading the heads of the
file is not required), but I'm happy with patches 1-11, and 12-13
show where I'm headed for getting NBD_OPT_INFO to work. Posting
now to see if some of the earlier patches are ready to commit while
I continue working on the latter half.
Eric Blake (13):
2020 Aug 18
3
[libnbd PATCH v3 0/2] Implementing NBD_OPT_LIST
This is a subset of my v2 posting, but limited to just the
NBD_OPT_LIST handling. The biggest change since v2 is the addition of
added unit testing in all four language bindings (C, python, ocaml,
golang). The tests require nbdkit built from git on PATH, and may not
be entirely idiomatic, but I at least validated that they catch issues
(for example, adding an exit statement near the end of the
2020 Sep 21
18
[nbdkit PATCH v3 00/14] exportname filter
It's been several weeks since I posted v2 (I got distracted by
improving libnbd to better test things, which in turn surfaced some
major memory leak problems in nbdsh that are now fixed). Many of the
patches are minor rebases from v2, with the biggest changes being
fallout from:
- patch 2: rename nbdkit_add_default_export to nbdkit_use_default_export
- overall: this missed 1.22, so update