The upstream protocol recently promoted NBD_CMD_WRITE_ZEROES from
experimental to a documented extension. Exposing support for this
allows plugin writers to create sparse files when driven by a
client that knows how to use the extension; meanwhile, even if a
plugin does not support this extension, the server benefits from
less network traffic from the client.
Eric Blake (5):
protocol: Support NBD_FLAG_NO_ZEROES
protocol: Validate request flags
plugins: Add callback for writing zeroes
protocol: Implement NBD_CMD_WRITE_ZEROES
file: Support punching holes for write zero
docs/nbdkit-plugin.pod | 19 +++++++++++++++++++
include/nbdkit-plugin.h | 1 +
plugins/file/file.c | 32 +++++++++++++++++++++++++++++++
src/connections.c | 47 +++++++++++++++++++++++++++++++++++++++++-----
src/internal.h | 1 +
src/plugins.c | 50 +++++++++++++++++++++++++++++++++++++++++++++++++
src/protocol.h | 18 +++++++++++-------
7 files changed, 156 insertions(+), 12 deletions(-)
--
2.9.3