
2 Aug
2021
2 Aug
'21
2:22 p.m.
so it took about 2 second to libvirt setBlockThreshold() call to return and in meantime migration was finished and we get VIR_ERR_OPERATION_INVALID error from setBlockThreshold() call.
What is the reason for this delay? Is this operation intentionally delayed until migration finishes?
Actually, qemuDomainSetBlockThreshold which is the backend for virDomainSetBlockThreshold requires a QEMU_JOB_MODIFY job on the domain, so this actually can't even be set _during_ migration.
In fact what happens is that the API call is waiting to be able to obtain the MODIFY job and that can happen only after the migration is finished, thus it always serializes after the migration.
makes sense, thanks for clarification!