On 1/26/21 3:51 PM, Richard W.M. Jones wrote:
This convenience function makes it a bit simpler to read a full set of extents covering a range from a plugin, especially for plugins which don't reply with a full set of extents in a single call. --- docs/nbdkit-filter.pod | 22 +++++++++++++++++ include/nbdkit-filter.h | 5 ++++ server/extents.c | 54 +++++++++++++++++++++++++++++++++++++++++ server/nbdkit.syms | 1 + 4 files changed, 82 insertions(+)
+++ b/server/extents.c
+struct nbdkit_extents * +nbdkit_extents_full (struct nbdkit_next_ops *next_ops, nbdkit_backend *nxdata, + uint32_t count, uint64_t offset, uint32_t flags, + int *err)
+ /* If the plugin is behaving we must make forward progress. */ + assert (offset > old_offset); + } + + return ret; + + error1: + *err = errno; + error0: + if (ret) nbdkit_extents_free (ret);
nbdkit_extents_free(NULL) is a no-op, do we need the 'if' here?
+ return NULL; +}
-- Eric Blake, Principal Software Engineer Red Hat, Inc. +1-919-301-3226 Virtualization: qemu.org | libvirt.org