vmstate_load_state return error into virtio_load function Qemu version 4.2.1 In the function of virtio_load, the vmstate_load_state will return error in the following case. The virtio is legacy mode(disable-modern=on,disable-legacy=off), virtio_device is in reset state. In the the function of "vmstate_load_state", it will load all subsection. For the vmstate_virtio_extra_state subsection. It will execute: vmstate_load_state --> ret = field->info->get(f, curr_elem, size, field); line 143 vmstate.c. -->virtio_pci_load_extra_state --> vmstate_load_state -->qemu_peek_byte But if the f->buf_index is same with buf_size, qemu_peek_byte function will set "-EIO" error. the field->info->get will return 0, then it will get the error "ret = qemu_file_get_error(f);". then the vmstate_load_state will return error. It output is "Failed to load virtio/extra_state:extra_state"