Juan Quintela <quint...@redhat.com> writes: > Markus Armbruster <arm...@redhat.com> wrote: >> The QEMUFileHooks methods don't come with a written contract. Digging >> through the code calling them, we find: >> >> * save_page(): >> >> Negative values RAM_SAVE_CONTROL_DELAYED and >> RAM_SAVE_CONTROL_NOT_SUPP are special. Any other negative value is >> an unspecified error. >> >> qemu_rdma_save_page() returns -EIO or rdma->error_state on error. I >> believe the latter is always negative. Nothing stops either of them >> to clash with the special values, though. Feels unlikely, but fix >> it anyway to return only the special values and -1. >> >> * before_ram_iterate(), after_ram_iterate(): >> >> Negative value means error. qemu_rdma_registration_start() and >> qemu_rdma_registration_stop() comply as far as I can tell. Make >> them comply *obviously*, by returning -1 on error. >> >> * hook_ram_load: >> >> Negative value means error. rdma_load_hook() already returns -1 on >> error. Leave it alone. >> >> Signed-off-by: Markus Armbruster <arm...@redhat.com> >> Reviewed-by: Li Zhijian <lizhij...@fujitsu.com> > > Reviewed-by: Juan Quintela <quint...@redhat.com> > > Changed idea. Will include this and rebase mines on top.
Thanks!