libvirt/tools
Jiri Denemark b1725fbfb8 virsh: Fix --timeout option of migrate command
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@redhat.com>
Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
2024-12-13 14:37:21 +01:00
..
bash-completion bash-completion: Run virsh/virt-admin in quiet mode 2024-05-28 08:51:45 +02:00
nss json: do not call json_tokener_free with NULL 2024-11-04 12:15:10 +01:00
ssh-proxy tools: Introduce SSH proxy 2024-05-13 08:56:35 +02:00
wireshark Replace improper use of g_malloc(0) with g_new0 2024-11-01 15:52:18 +01:00
libvirt_recover_xattrs.sh tools: fix iterating over argv when recovering xattr 2021-11-30 10:45:35 +00:00
libvirt_win_icon_16x16.ico Move virsh into tools/ directory 2009-09-21 14:41:45 +01:00
libvirt_win_icon_32x32.ico Move virsh into tools/ directory 2009-09-21 14:41:45 +01:00
libvirt_win_icon_48x48.ico Move virsh into tools/ directory 2009-09-21 14:41:45 +01:00
libvirt_win_icon_64x64.ico Move virsh into tools/ directory 2009-09-21 14:41:45 +01:00
libvirt-guests.service.in systemd: More tweaks to Description and Documentation lines 2023-11-06 23:45:04 +01:00
libvirt-guests.sh.in Extend libvirt-guests to shutdown only persistent VMs 2024-04-04 09:10:00 +02:00
meson.build meson: fix missing use of unitdir for systemd directory 2024-06-13 10:23:07 +01:00
virsh_win_icon.rc Move virsh into tools/ directory 2009-09-21 14:41:45 +01:00
virsh-backup.c tools: Rename vshCommandOptStringReq to vshCommandOptString 2024-04-25 14:13:19 +02:00
virsh-backup.h backup: Implement virsh support for backup 2019-12-10 12:41:56 +01:00
virsh-checkpoint.c lib: Use NULLSTR family of macros more 2024-08-19 13:44:12 +02:00
virsh-checkpoint.h backup: Implement virsh support for checkpoints 2019-07-26 16:48:58 -05:00
virsh-completer-checkpoint.c tools: Remove unused includes 2022-06-16 06:43:58 +02:00
virsh-completer-checkpoint.h virsh-completer*.h: Use modern header style 2021-09-17 09:40:46 +02:00
virsh-completer-domain.c tools: Rename vshCommandOptStringReq to vshCommandOptString 2024-04-25 14:13:19 +02:00
virsh-completer-domain.h virsh: Move 'cmdEvent' and all of its machinery to virsh-domain-event.c 2022-03-03 11:06:56 +01:00
virsh-completer-host.c tools: Rename vshCommandOptStringReq to vshCommandOptString 2024-04-25 14:13:19 +02:00
virsh-completer-host.h virsh: Add completer for hypervisor-cpu-baseline --model 2022-10-10 14:31:43 +02:00
virsh-completer-interface.c tools: Remove unused includes 2022-06-16 06:43:58 +02:00
virsh-completer-interface.h virsh-completer*.h: Use modern header style 2021-09-17 09:40:46 +02:00
virsh-completer-network.c tools: Remove unused includes 2022-06-16 06:43:58 +02:00
virsh-completer-network.h virsh: Introduce net-update --section completer 2022-01-19 16:48:33 +01:00
virsh-completer-nodedev.c conf: move/rename hostdev PCI driver type enum to device_conf.h 2024-01-07 23:57:09 -05:00
virsh-completer-nodedev.h virsh: Provide completer for PCI backend drivers 2022-04-04 16:30:48 +02:00
virsh-completer-nwfilter.c tools: Remove unused includes 2022-06-16 06:43:58 +02:00
virsh-completer-nwfilter.h virsh-completer*.h: Use modern header style 2021-09-17 09:40:46 +02:00
virsh-completer-pool.c virsh-completer: modify and fix bug in virshPoolTypeCompleter, now used for more commands 2024-02-20 12:08:22 +01:00
virsh-completer-pool.h virsh-completer: modify and fix bug in virshPoolTypeCompleter, now used for more commands 2024-02-20 12:08:22 +01:00
virsh-completer-secret.c tools: Remove unused includes 2022-06-16 06:43:58 +02:00
virsh-completer-secret.h virsh-completer*.h: Use modern header style 2021-09-17 09:40:46 +02:00
virsh-completer-snapshot.c tools: Remove unused includes 2022-06-16 06:43:58 +02:00
virsh-completer-snapshot.h virsh-completer*.h: Use modern header style 2021-09-17 09:40:46 +02:00
virsh-completer-volume.c tools: Remove unused includes 2022-06-16 06:43:58 +02:00
virsh-completer-volume.h virsh: Provide completer for vol-wipe algorithms 2022-03-11 09:10:24 +01:00
virsh-completer.c tools: Remove unused includes 2022-06-16 06:43:58 +02:00
virsh-completer.h virsh: Introduce virshEnumComplete() 2022-03-15 13:36:56 +01:00
virsh-console.c virsh: Show 'connected to console' message later 2024-04-02 18:26:35 +02:00
virsh-console.h virsh: add console --resume support 2023-10-24 13:51:32 +02:00
virsh-domain-event.c tools: Rename vshCommandOptStringReq to vshCommandOptString 2024-04-25 14:13:19 +02:00
virsh-domain-event.h virsh: Move 'cmdEvent' and all of its machinery to virsh-domain-event.c 2022-03-03 11:06:56 +01:00
virsh-domain-monitor.c virsh: cmdList: Revert to script-friendly output for 'virsh list --uuid' 2024-09-05 15:24:55 +02:00
virsh-domain-monitor.h virsh: Fix virshDomainInterfaceSourceCompleter 2020-01-07 16:12:55 +01:00
virsh-domain.c virsh: Fix --timeout option of migrate command 2024-12-13 14:37:21 +01:00
virsh-domain.h virsh: Add mode option to domdirtyrate-calc virsh api 2022-02-21 13:34:16 +01:00
virsh-edit.c tools: Update format strings in translated messages (part 1) 2023-04-01 11:40:35 +02:00
virsh-host.c tools: Rename vshCommandOptStringReq to vshCommandOptString 2024-04-25 14:13:19 +02:00
virsh-host.h virsh-host: Avoid 'vir' prefix for locally declared VIR_ENUM* helpers 2021-07-23 09:59:12 +02:00
virsh-interface.c tools: Rename vshCommandOptStringReq to vshCommandOptString 2024-04-25 14:13:19 +02:00
virsh-interface.h tools: use #pragma once in headers 2019-06-19 17:12:34 +02:00
virsh-network.c virsh: Introduce new 'VSH_OT_ARGV' accessors 2024-04-25 14:13:19 +02:00
virsh-network.h virsh: Introduce net-update --section completer 2022-01-19 16:48:33 +01:00
virsh-nodedev.c lib: Use NULLSTR family of macros more 2024-08-19 13:44:12 +02:00
virsh-nodedev.h tools: s/Nodedev/NodeDevice/ 2019-08-09 09:03:53 +02:00
virsh-nwfilter.c tools: Rename vshCommandOptStringReq to vshCommandOptString 2024-04-25 14:13:19 +02:00
virsh-nwfilter.h tools: use #pragma once in headers 2019-06-19 17:12:34 +02:00
virsh-pool.c tools: Rename vshCommandOptStringReq to vshCommandOptString 2024-04-25 14:13:19 +02:00
virsh-pool.h virsh-pool: Remove static from virshStoragePoolList{Free,Collect} 2021-06-16 10:32:33 +02:00
virsh-secret.c tools: Rename vshCommandOptStringReq to vshCommandOptString 2024-04-25 14:13:19 +02:00
virsh-secret.h tools: remove unnecessary includes 2020-08-03 15:30:40 +02:00
virsh-snapshot.c Remove pointless bool conversions 2024-10-15 14:48:35 +02:00
virsh-snapshot.h tools: remove unnecessary includes 2020-08-03 15:30:40 +02:00
virsh-util.c tools: Rename vshCommandOptStringReq to vshCommandOptString 2024-04-25 14:13:19 +02:00
virsh-util.h virsh exposure of Network Metadata APIs 2023-08-25 12:36:37 +02:00
virsh-volume.c tools: Rename vshCommandOptStringReq to vshCommandOptString 2024-04-25 14:13:19 +02:00
virsh-volume.h virsh: Provide completer for vol-wipe algorithms 2022-03-11 09:10:24 +01:00
virsh.c vsh: Remove unused infrastructure for command completion 2024-04-25 14:13:19 +02:00
virsh.h virsh: Inline VIRSH_COMMON_OPT_FILE_FULL macro 2024-04-02 14:24:29 +02:00
virt-admin-completer.c lib: Drop internal virXXXPtr typedefs 2021-04-13 17:00:38 +02:00
virt-admin-completer.h tools: use #pragma once in headers 2019-06-19 17:12:34 +02:00
virt-admin.c virt-admin: Make --timeout of daemon-timeout positional argument 2024-05-28 08:51:37 +02:00
virt-admin.h lib: Drop internal virXXXPtr typedefs 2021-04-13 17:00:38 +02:00
virt-host-validate-bhyve.c tools: split off common helpers for host validate tool 2024-06-11 12:50:23 +01:00
virt-host-validate-bhyve.h tools: use #pragma once in headers 2019-06-19 17:12:34 +02:00
virt-host-validate-ch.c tools: split off common helpers for host validate tool 2024-06-11 12:50:23 +01:00
virt-host-validate-ch.h tools: add virt-host-validate-ch for ch driver 2021-10-12 17:28:35 +02:00
virt-host-validate-common.c virt-host-validate: Allow longer list of CPU flags 2024-07-23 13:58:53 +02:00
virt-host-validate-common.h tools: split off common helpers for host validate tool 2024-06-11 12:50:23 +01:00
virt-host-validate-lxc.c tools: split off common helpers for host validate tool 2024-06-11 12:50:23 +01:00
virt-host-validate-lxc.h tools: use #pragma once in headers 2019-06-19 17:12:34 +02:00
virt-host-validate-qemu.c tools: split off common helpers for host validate tool 2024-06-11 12:50:23 +01:00
virt-host-validate-qemu.h tools: use #pragma once in headers 2019-06-19 17:12:34 +02:00
virt-host-validate.c tools: split off common helpers for host validate tool 2024-06-11 12:50:23 +01:00
virt-login-shell-helper.c tools: drop unused --version argument 2024-06-11 12:50:23 +01:00
virt-login-shell.c Use G_N_ELEMENTS() more 2023-03-13 13:29:07 +01:00
virt-login-shell.conf virt-login-shell: add ability to auto-detect shell from container 2016-06-10 11:03:02 +01:00
virt-pki-query-dn.c tools: drop unused --version argument 2024-06-11 12:50:23 +01:00
virt-pki-validate.c tools: fix paths in PKI validation error messages 2024-06-13 10:22:21 +01:00
virt-qemu-qmp-proxy scripts: Fix the flake8 syntax-check failures 2023-06-29 11:51:27 +02:00
virt-qemu-sev-validate vir-qemu-sev-validate: Use string() method in xpath 2023-12-05 12:21:38 +01:00
virt-sanlock-cleanup.in build: Extract pod from source files 2016-04-25 15:40:43 +02:00
virt-validate-common.c tools: split off common helpers for host validate tool 2024-06-11 12:50:23 +01:00
virt-validate-common.h tools: split off common helpers for host validate tool 2024-06-11 12:50:23 +01:00
virt-xml-validate.in virt-xml-validate: Fix incorrect wildcards for XML roots 2022-07-07 12:21:16 +02:00
vsh-table.c lib: use struct zero initializer instead of memset 2023-08-03 16:41:19 +02:00
vsh-table.h vsh-table: Ensure NULL terminated arguments to vshTable*() 2021-12-17 15:05:58 +01:00
vsh.c vsh: Allow vshReadlineInit() to be called multiple times 2024-08-08 15:45:37 +02:00
vsh.h vsh: Refactor parsed option and command assignment 2024-04-25 14:13:19 +02:00