On 12/6/24 17:25, Jiri Denemark wrote: > When starting a migration with --timeout, we create a thread to call the > migration API and in parallel setup a timer for the timeout. The > description of --timeout says: "run action specified by --timeout-* > option (suspend by default) if live migration exceeds timeout", which is > not really the way this feature was implemented. Before live migration > starts we first need to contact the source to get the domain definition > and send it to the destination where a new QEMU process has to be > started. This can take some (unpredictably long) time while the timeout > timer is already running. If a very short timeout is set (which doesn't > really make sense, but it's allowed), we may even end up taking the > timeout action before the actual migration had a chance to start. > > With this patch the timeout is started only after we get non-zero > dataTotal from virDomainGetJobInfo, which means the migration (of either > storage or memory) really started. > > https://issues.redhat.com/browse/RHEL-41264 > > Signed-off-by: Jiri Denemark <jdenemar@xxxxxxxxxx> > --- > tools/virsh-domain.c | 55 ++++++++++++++++++++++++++++---------------- > 1 file changed, 35 insertions(+), 20 deletions(-) Reviewed-by: Michal Privoznik <mprivozn@xxxxxxxxxx> Michal