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.