On 8/13/19 5:06 AM, Richard W.M. Jones wrote: > Patches 1-4 are basically uncontroversial, straightforward refactoring > and IMHO we should just push them. Possibly 1-3 should be squashed > together, but I posted them separately so they are easier to review.
Agreed. > > Patches 5 and 6 together implement OClosure. Patch 5 adds the feature > and is simple to understand. > > Patch 6 changes the Closure completion callbacks into OClosure, but > because it doesn't change the position within the list of arguments > the C API doesn't change at all. The Python API also doesn't change > for the same reason. (The OCaml API _does_ change but not > significantly). > > I've run out of time on this patch today because I've got meetings for > the rest of the day (and it's only 11am!) However if I did have more > time there would be a 7th patch in the series which renames all > aio_*_callback functions to simply aio_*. eg. nbd_aio_pread_callback > is renamed to nbd_aio_pread (and old nbd_aio_pread is removed). That > is obviously a somewhat large albeit it mechanical API change. Then from there, we move on to a patch that changes Closure/OClosure to switch the C bindings from 2-tuple to 3-tuple, where you provide a separate free_fn to be called at the end-of-lifetime instead of the current valid_flags parameter to the single function. I'm liking the way this is headed, even though it is a big API/ABI change to async users. -- Eric Blake, Principal Software Engineer Red Hat, Inc. +1-919-301-3226 Virtualization: qemu.org | libvirt.org
signature.asc
Description: OpenPGP digital signature
_______________________________________________ Libguestfs mailing list [email protected] https://www.redhat.com/mailman/listinfo/libguestfs
