On 04/12/2013 07:05 AM, Paolo Bonzini wrote:
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.
Acknowledged.
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.
Good catch.