Displaying 5 results from an estimated 5 matches for "go_complete".
2020 Aug 14
0
[libnbd PATCH v2 12/13] wip: api: Give aio_opt_go a completion callback
...TATE (%.NEGOTIATING);
+ else
+ SET_NEXT_STATE (%^PREPARE_OPT_ABORT);
return 0;
} /* END STATE MACHINE */
diff --git a/lib/opt.c b/lib/opt.c
index 1a5f645..17f2508 100644
--- a/lib/opt.c
+++ b/lib/opt.c
@@ -60,16 +60,28 @@ wait_for_option (struct nbd_handle *h)
return 0;
}
+static int
+go_complete (void *opaque, int *err)
+{
+ int *i = opaque;
+ *i = *err;
+ return 0;
+}
+
/* Issue NBD_OPT_GO (or NBD_OPT_EXPORT_NAME) and wait for the reply. */
int
nbd_unlocked_opt_go (struct nbd_handle *h)
{
- int r = nbd_unlocked_aio_opt_go (h);
+ int err;
+ nbd_completion_callback c = { .callback...
2020 Sep 07
0
[libnbd PATCH 1/2] generator: Refactor handling of closures in unlocked functions
...ack = debug_callback;
+ h->debug_callback = *debug_callback;
return 0;
}
diff --git a/lib/opt.c b/lib/opt.c
index cc0c145..003ecf8 100644
--- a/lib/opt.c
+++ b/lib/opt.c
@@ -74,7 +74,7 @@ nbd_unlocked_opt_go (struct nbd_handle *h)
{
int err;
nbd_completion_callback c = { .callback = go_complete, .user_data = &err };
- int r = nbd_unlocked_aio_opt_go (h, c);
+ int r = nbd_unlocked_aio_opt_go (h, &c);
if (r == -1)
return r;
@@ -96,7 +96,7 @@ nbd_unlocked_opt_info (struct nbd_handle *h)
{
int err;
nbd_completion_callback c = { .callback = go_complete, .user_data = &...
2020 Sep 07
4
[libnbd PATCH 0/2] Fix memory leak with closures
As promised in my earlier thread on libnbd completion callback question.
Eric Blake (2):
generator: Refactor handling of closures in unlocked functions
generator: Free closures on failure
docs/libnbd.pod | 2 +-
generator/C.ml | 48 +++++++++++------
generator/C.mli | 1 +
lib/debug.c | 7 +--
lib/opt.c | 31 ++++++-----
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 19
3
[libnbd PATCH 0/2] NBD_OPT_INFO support
This replaces 13/13 of my v2 series; and now that it has pretty good
testsuite coverage and demonstrable performance improvement to
nbdinfo, I'm going ahead and pushing this now. We may still want to
add further nbd_opt_* commands for other fine-grained tuning of
negotiation, but for now, I think things have stabilized on this end,
and I can return to polishing .list_exports on the nbdkit