I had a think about this.  How about (for the internal backend
interface only) returning an extra ‘int *err’ parameter?

  int (*pread) (struct backend *, struct connection *conn, void *buf, uint32_t 
count, uint64_t offset, uint32_t flags, int *err);

This has some advantages:

 - It's explicit.

 - It means we preserve the convention that -1 = error
   used everywhere else in nbdkit.

 - Better for APIs that actually return something like get_size.

 - Can be both read and written.

Rich.

-- 
Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones
Read my programming and virtualization blog: http://rwmj.wordpress.com
virt-df lists disk usage of guests without needing to install any
software inside the virtual machine.  Supports Linux and Windows.
http://people.redhat.com/~rjones/virt-df/

_______________________________________________
Libguestfs mailing list
[email protected]
https://www.redhat.com/mailman/listinfo/libguestfs

Reply via email to