Hi all,
When I am trying to migrate the guest from host1 to host2 with the
command line as follows:
date;virsh migrate --live --domain guest1 qemu+ssh://dest/system
--verbose --undefinesource --persistent --auto-converge --postcopy
--copy-storage-all;date
and it fails with the following error message-
error: internal error: unable to execute QEMU command
'block-export-add': Block node is read-only
HOST ENV:
qemu : QEMU emulator version 9.2.2
libvirt : libvirtd (libvirt) 11.1.0
Seen with upstream qemu also
Steps to reproduce:
1) Start the guest1
2) Migrate it with the command as
date;virsh migrate --live --domain guest1 qemu+ssh://dest/system
--verbose --undefinesource --persistent --auto-converge --postcopy
--copy-storage-all;date
3) It fails as follows:
error: internal error: unable to execute QEMU command
'block-export-add': Block node is read-only
Things I analyzed-
1) This issue is not happening if I give --unsafe option in the virsh
migrate command
2) O/P of qemu-monitor command also shows ro as false
virsh qemu-monitor-command guest1 --pretty --cmd '{ "execute":
"query-block" }'
{
"return": [
{
"io-status": "ok",
"device": "",
"locked": false,
"removable": false,
"inserted": {
"iops_rd": 0,
"detect_zeroes": "off",
"image": {
"virtual-size": 21474836480,
"filename": "/home/Anu/guest_anu.qcow2",
"cluster-size": 65536,
"format": "qcow2",
"actual-size": 5226561536,
"format-specific": {
"type": "qcow2",
"data": {
"compat": "1.1",
"compression-type": "zlib",
"lazy-refcounts": false,
"refcount-bits": 16,
"corrupt": false,
"extended-l2": false
}
},
"dirty-flag": false
},
"iops_wr": 0,
"ro": false,
"node-name": "libvirt-1-format",
"backing_file_depth": 0,
"drv": "qcow2",
"iops": 0,
"bps_wr": 0,
"write_threshold": 0,
"encrypted": false,
"bps": 0,
"bps_rd": 0,
"cache": {
"no-flush": false,
"direct": false,
"writeback": true
},
"file": "/home/Anu/guest_anu.qcow2"
},
"qdev": "/machine/peripheral/virtio-disk0/virtio-backend",
"type": "unknown"
}
],
"id": "libvirt-26"
}
3) Guest doesn't have any readonly
virsh dumpxml guest1 | grep readonly
4) Tried giving the proper permissions also
-rwxrwxrwx. 1 qemu qemu 4.9G Apr 28 15:06 guest_anu.qcow2
5) Checked for the permission of the pool also that is also proper!
6) Found 1 older bug similar to this, pasting the link for reference:
https://patchwork.kernel.org/project/qemu-devel/patch/20170811164854.GG4162@localhost.localdomain/
Thanks,
Anushree-Mathur