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>
I "remove" QEMUFileHooks on this series: https://lists.gnu.org/archive/html/qemu-devel/2023-10/msg01037.html Do you mean waiting for the series to land before adding this one? As that hooks only get rdma use, I just changed them to be normal functions, no hooks. And yes, it was not fun. I know you have feel the "pleasure" of hacking this file O:-) Thanks, Juan.