aboutsummaryrefslogtreecommitdiff
path: root/scripts/vmstate-static-checker.py
diff options
context:
space:
mode:
authorKevin Wolf <kwolf@redhat.com>2025-05-22 15:08:03 +0200
committerKevin Wolf <kwolf@redhat.com>2025-05-22 17:56:50 +0200
commitbf627788ef17721955bfcfba84209a07ae5f54ea (patch)
treea73b0bf1b5d24ff7226b27f7ea094a5f0f04d618 /scripts/vmstate-static-checker.py
parent5634622bcb339f213469eceeff005640492fc902 (diff)
downloadqemu-bf627788ef17721955bfcfba84209a07ae5f54ea.zip
qemu-bf627788ef17721955bfcfba84209a07ae5f54ea.tar.gz
qemu-bf627788ef17721955bfcfba84209a07ae5f54ea.tar.bz2
file-posix: Probe paths and retry SG_IO on potential path errors
When scsi-block is used on a host multipath device, it runs into the problem that the kernel dm-mpath doesn't know anything about SCSI or SG_IO and therefore can't decide if a SG_IO request returned an error and needs to be retried on a different path. Instead of getting working failover, an error is returned to scsi-block and handled according to the configured error policy. Obviously, this is not what users want, they want working failover. QEMU can parse the SG_IO result and determine whether this could have been a path error, but just retrying the same request could just send it to the same failing path again and result in the same error. With a kernel that supports the DM_MPATH_PROBE_PATHS ioctl on dm-mpath block devices (queued in the device mapper tree for Linux 6.16), we can tell the kernel to probe all paths and tell us if any usable paths remained. If so, we can now retry the SG_IO ioctl and expect it to be sent to a working path. Signed-off-by: Kevin Wolf <kwolf@redhat.com> Message-ID: <20250522130803.34738-1-kwolf@redhat.com> Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com> Reviewed-by: Hanna Czenczek <hreitz@redhat.com> Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Diffstat (limited to 'scripts/vmstate-static-checker.py')
0 files changed, 0 insertions, 0 deletions