See the cross-posted cover letter for more details.
Eric Blake (10):
protocol: Add NBD_INFO_INIT_STATE extension
protocol: Wire up backend support for NBD_INFO_INIT_STATE
filters: Wire up filter support for NBD_INFO_INIT_STATE
plugins: Wire up in-memory plugin support for NBD_INFO_INIT_STATE
plugins: Wire up file-based plugin support for NBD_INFO_INIT_STATE
plugins: Wire up shell plugin support for NBD_INFO_INIT_STATE
plugins: Wire up python plugin support for NBD_INFO_INIT_STATE
plugins: Wire up rust plugin support for NBD_INFO_INIT_STATE
plugins: Wire up ocaml plugin support for NBD_INFO_INIT_STATE
plugins: Wire up nbd plugin support for NBD_INFO_INIT_STATE
common/protocol/nbd-protocol.h | 13 ++-
common/sparse/sparse.c | 30 ++++++-
common/sparse/sparse.h | 19 ++++-
docs/nbdkit-filter.pod | 10 ++-
docs/nbdkit-plugin.pod | 23 ++++++
filters/cache/blk.c | 7 +-
filters/extentlist/extentlist.c | 28 +++++++
filters/log/log.c | 9 +-
filters/log/nbdkit-log-filter.pod | 2 +-
filters/noextents/nbdkit-noextents-filter.pod | 11 +--
filters/noextents/noextents.c | 18 +++-
filters/truncate/truncate.c | 15 +++-
include/nbdkit-filter.h | 8 +-
include/nbdkit-plugin.h | 5 +-
plugins/data/data.c | 21 ++++-
plugins/eval/eval.c | 4 +
plugins/eval/nbdkit-eval-plugin.pod | 9 +-
plugins/file/file.c | 82 ++++++++++++++++---
plugins/full/full.c | 18 +++-
plugins/info/info.c | 15 +++-
plugins/linuxdisk/linuxdisk.c | 13 ++-
plugins/memory/memory.c | 19 +++++
plugins/nbd/nbd.c | 40 ++++++++-
plugins/null/null.c | 18 +++-
plugins/ocaml/NBDKit.ml | 14 +++-
plugins/ocaml/NBDKit.mli | 5 +-
plugins/ocaml/ocaml.c | 47 +++++++++++
plugins/partitioning/partitioning.c | 13 ++-
plugins/python/nbdkit-python-plugin.pod | 14 ++++
plugins/python/python.c | 16 +++-
plugins/rust/nbdkit-rust-plugin.pod | 2 +-
plugins/rust/src/lib.rs | 9 ++
plugins/sh/example.sh | 14 ++++
plugins/sh/methods.c | 18 +++-
plugins/sh/methods.h | 4 +-
plugins/sh/nbdkit-sh-plugin.pod | 8 +-
plugins/sh/sh.c | 4 +-
plugins/split/split.c | 59 +++++++++++--
server/backend.c | 26 ++++++
server/filters.c | 44 +++++++++-
server/internal.h | 12 ++-
server/plugins.c | 24 +++++-
server/protocol-handshake-newstyle.c | 56 ++++++++++++-
tests/Makefile.am | 8 +-
tests/test-eval-init.sh | 54 ++++++++++++
tests/test-file-init.sh | 69 ++++++++++++++++
tests/test-memory-init.sh | 65 +++++++++++++++
tests/test-python-plugin.py | 8 +-
tests/test_python.py | 22 ++++-
49 files changed, 988 insertions(+), 64 deletions(-)
create mode 100755 tests/test-eval-init.sh
create mode 100755 tests/test-file-init.sh
create mode 100755 tests/test-memory-init.sh
--
2.24.1