Displaying 4 results from an estimated 4 matches for "nbd_get_init_flags".
2020 Feb 10
1
[nbdkit PATCH 10/10] plugins: Wire up nbd plugin support for NBD_INFO_INIT_STATE
...rce and binary forms, with or without
* modification, are permitted provided that the following conditions are
@@ -702,6 +702,42 @@ nbdplug_can_extents (void *handle)
return i;
}
+static int
+nbdplug_init_sparse (void *handle)
+{
+ struct handle *h = handle;
+ int i = 0;
+
+#if LIBNBD_HAVE_NBD_GET_INIT_FLAGS
+ i = nbd_get_init_flags (h->nbd);
+
+ if (i == -1) {
+ nbdkit_error ("failure to check init flags: %s", nbd_get_error ());
+ return -1;
+ }
+ i = !!(i & LIBNBD_INIT_SPARSE);
+#endif
+ return i;
+}
+
+static int
+nbdplug_init_zero (void *handle)
+{
+ struct handle *h =...
2020 Feb 10
0
[libnbd PATCH 1/1] generator: Add support for NBD_INFO_INIT_STATE extension
The NBD protocol is adding an extension for servers to report the
initial state of the image (for now, whether it is sparse and/or reads
as all zeroes). Time to expose this to clients, via the new API
nbd_get_init_flags(). The patch requires refreshing the
nbd-protocol.h file from a corresponding contemporary nbdkit commit.
Testing is possible with recent enough qemu.
---
.gitignore | 1 +
generator/generator | 40 +++++++++++++--
generator/states-newstyle-opt-go.c | 12 +...
2020 Feb 10
17
Cross-project NBD extension proposal: NBD_INFO_INIT_STATE
I will be following up to this email with four separate threads each
addressed to the appropriate single list, with proposed changes to:
- the NBD protocol
- qemu: both server and client
- libnbd: client
- nbdkit: server
The feature in question adds a new optional NBD_INFO_ packet to the
NBD_OPT_GO portion of handshake, adding up to 16 bits of information
that the server can advertise to the
2020 Feb 10
2
[nbdkit PATCH 04/10] plugins: Wire up in-memory plugin support for NBD_INFO_INIT_STATE
...y data, so it
doesn't need changes. The info plugin is never sparse, but can be all
zeroes in base64exportname mode.
Adding initial state support to file-based and language binding
plugins will be done separately.
Testing of this addition relies on a contemporary patch to libnbd
adding a new nbd_get_init_flags() function for reading the advertised
initial state, then demonstrating changes in state observable from the
memory plugin over successive clients.
Signed-off-by: Eric Blake <eblake@redhat.com>
---
common/sparse/sparse.c | 30 +++++++++++++++++-
common/sparse/sparse.h | 19 +++++++++++...