Il 12/04/2013 07:52, mrhi...@linux.vnet.ibm.com ha scritto:
> 
> +void ram_control_load_hook(QEMUFile *f, uint32_t flags)
> +{
> +    int ret = 0;
> +
> +    if (f->ops->hook_ram_load) {
> +        qemu_fflush(f);
> +        ret = f->ops->hook_ram_load(f, f->opaque, flags);
> +        if (ret < 0) {
> +            qemu_file_set_error(f, ret);
> +        }
> +    }

Almost my last request.

Here, qemu_fflush is not needed, we're reading.

Also, please fail if there is no hook, that is:

   if (f->ops->hook_ram_load) {
       ret = f->ops->hook_ram_load(f, f->opaque, flags);
   } else {
       ret = -EIO;
   }
   if (ret < 0) {
       qemu_file_set_error(f, ret);
   }

> +
> +        bytes = f->ops->save_page(f, f->opaque, block_offset, offset, size, 
> va);
> +
> +        if (bytes > 0) {
> +            f->pos += bytes;
> +        }
> +

And please add an "else { qemu_file_set_error(f, ret); }" too.

Paolo

Reply via email to