Displaying 13 results from an estimated 13 matches for "export_name_reply".
2019 May 19
0
[libnbd PATCH 4/4] states: Add NBD_OPT_EXPORT_NAME handling
...rlen (h->export_name);
+ SET_NEXT_STATE (%SEND_EXPORT);
+ }
+ return 0;
+
+ NEWSTYLE.OPT_EXPORT_NAME.SEND_EXPORT:
+ switch (send_from_wbuf (conn)) {
+ case -1: SET_NEXT_STATE (%.DEAD); return -1;
+ case 0:
+ conn->rbuf = &conn->sbuf;
+ conn->rlen = sizeof conn->sbuf.export_name_reply;
+ if ((conn->gflags & NBD_FLAG_NO_ZEROES) != 0)
+ conn->rlen -= sizeof conn->sbuf.export_name_reply.zeroes;
+ SET_NEXT_STATE (%RECV_REPLY);
+ }
+ return 0;
+
+ NEWSTYLE.OPT_EXPORT_NAME.RECV_REPLY:
+ switch (recv_into_rbuf (conn)) {
+ case -1: SET_NEXT_STATE (%.DEAD); re...
2019 May 23
0
[PATCH libnbd 1/3] states: Factor out common code for setting export size and eflags.
...erator/states-newstyle-opt-export-name.c
index 8ff1c1c..07b6c9e 100644
--- a/generator/states-newstyle-opt-export-name.c
+++ b/generator/states-newstyle-opt-export-name.c
@@ -58,13 +58,13 @@
return 0;
NEWSTYLE.OPT_EXPORT_NAME.CHECK_REPLY:
- conn->h->exportsize = be64toh (conn->sbuf.export_name_reply.exportsize);
- conn->h->eflags = be16toh (conn->sbuf.export_name_reply.eflags);
- debug (conn->h, "exportsize: %" PRIu64 " eflags: 0x%" PRIx16,
- conn->h->exportsize, conn->h->eflags);
- if (conn->h->eflags == 0) {
+ uint64_t exportsize;...
2019 May 19
5
[libnbd PATCH 0/4] Various interop fixes
Some of these affect attempts to connect to older qemu-nbd versions,
some of them were triggered by manual edits to qemu-nbd source code to
provoke various other compliant (if uncommon) server behaviors.
Eric Blake (4):
starttls: Skip error payload if falling back to unencrypted
states: Reject payload to NBD_REP_ACK
meta-context: Skip error payload if server lacks meta_context
states: Add
2019 May 23
5
[PATCH libnbd 0/3] Prevent some misuse of multi-conn.
Per recent discussion here:
https://www.redhat.com/archives/libguestfs/2019-May/thread.html#00175
2019 Sep 16
1
[libnbd PATCH] api: Add set_handshake_flags for integration
...style-opt-export-name.c b/generator/states-newstyle-opt-export-name.c
index ec73136..a46d851 100644
--- a/generator/states-newstyle-opt-export-name.c
+++ b/generator/states-newstyle-opt-export-name.c
@@ -45,7 +45,7 @@
case 0:
h->rbuf = &h->sbuf;
h->rlen = sizeof h->sbuf.export_name_reply;
- if ((h->gflags & NBD_FLAG_NO_ZEROES) != 0)
+ if ((h->gflags & LIBNBD_HANDSHAKE_FLAG_NO_ZEROES) != 0)
h->rlen -= sizeof h->sbuf.export_name_reply.zeroes;
SET_NEXT_STATE (%RECV_REPLY);
}
diff --git a/generator/states-newstyle.c b/generator/states-newstyle.c...
2019 Jun 14
0
[libnbd PATCH 7/7] states: Capture NBD_REP_ERR message
...uct nbd_handle {
struct nbd_fixed_new_option_reply_meta_context context;
char str[NBD_MAX_STRING];
} __attribute__((packed)) context;
+ char err_msg[NBD_MAX_STRING];
} payload;
} __attribute__((packed)) or;
struct nbd_export_name_option_reply export_name_reply;
--
2.20.1
2019 May 23
2
[PATCH libnbd] api: Get rid of nbd_connection.
This isn't quite finished because not all of the tests or examples
have been updated, but it demonstrates an idea: Should we forget about
the concept of having multiple connections managed under a single
handle?
In this patch there is a single ‘struct nbd_handle *’ which manages a
single state machine and connection (and therefore no nbd_connection).
To connect to a multi-conn server you must
2019 Jun 29
0
[libnbd PATCH 2/6] generator: Allow DEAD state actions to run
...= strlen (h->export_name);
@@ -41,7 +41,7 @@
NEWSTYLE.OPT_EXPORT_NAME.SEND_EXPORT:
switch (send_from_wbuf (h)) {
- case -1: SET_NEXT_STATE (%.DEAD); return -1;
+ case -1: SET_NEXT_STATE (%.DEAD); return 0;
case 0:
h->rbuf = &h->sbuf;
h->rlen = sizeof h->sbuf.export_name_reply;
@@ -53,7 +53,7 @@
NEWSTYLE.OPT_EXPORT_NAME.RECV_REPLY:
switch (recv_into_rbuf (h)) {
- case -1: SET_NEXT_STATE (%.DEAD); return -1;
+ case -1: SET_NEXT_STATE (%.DEAD); return 0;
case 0: SET_NEXT_STATE (%CHECK_REPLY);
}
return 0;
@@ -66,7 +66,7 @@
eflags = be16toh (h->sbuf.e...
2023 Jun 20
1
[libnbd PATCH v4 4/4] internal: Refactor layout of replies in sbuf
...ons(+), 63 deletions(-)
>
> diff --git a/lib/internal.h b/lib/internal.h
> index a8c49e16..f9b10774 100644
> --- a/lib/internal.h
> +++ b/lib/internal.h
> @@ -237,9 +237,19 @@ struct nbd_handle {
> } payload;
> } or;
> struct nbd_export_name_option_reply export_name_reply;
> - struct nbd_simple_reply simple_reply;
> struct {
> - struct nbd_structured_reply structured_reply;
> + union reply_header {
> + struct nbd_simple_reply simple;
> + struct nbd_structured_reply structured;
> + /* The wire formats share...
2023 Jun 09
4
[libnbd PATCH v4 0/4] Saner reply header layout
This was v3 patch 2/22, reworked to address the confusion about how a
structured reply header is read in two pieces before getting to the
payload portion.
I'm still working on rebasing the rest of my v3 series (patches 1,
3-22) from other comments given, but this seemed independent enough
that it's worth posting now rather than holding it up for the rest of
the series.
Eric Blake (4):
2019 Jun 14
10
[libnbd PATCH 0/7] state machine refactoring
I'm still playing with ideas on how to split rstate from wstate (so
that we can send a request without waiting for POLLIN to complete a
pending reply), but this is some preliminary refactoring I found
useful. I also fixed a couple of bugs while in the area (already
pushed).
There's a question of whether we want nbd_handle to be nearly 5k, or
if we should instead keep it small and add one
2019 May 22
12
[libnbd PATCH v3 0/7] Avoid deadlock with in-flight commands
Since v2:
- rebase to Rich's new API calls
- more refactoring in patch 1 (retitled)
- new patches 3 and 4
- fix data corruption in patch 6 (was 4)
- more tweaks to the reproducer example (including using new API from 3)
Eric Blake (7):
lib: Refactor command_common() to do more common work
commands: Allow for a command queue
commands: Expose FIFO ordering of server completions
2019 Jun 29
19
[libnbd PATCH 0/6] new APIs: aio_in_flight, aio_FOO_notify
I still need to wire in the use of *_notify functions into nbdkit to
prove whether it makes the code any faster or easier to maintain, but
at least the added example shows one good use case for the new API.
Eric Blake (6):
api: Add nbd_aio_in_flight
generator: Allow DEAD state actions to run
generator: Allow Int64 in callbacks
states: Prepare for aio notify callback
api: Add new