On 1/13/26 22:53, Stefan Hajnoczi wrote:
Live migration does not work for SCSI Persistent Reservations acquired on
scsi-block devices. This patch series migrates the reservation key and
reservation type so that the destination QEMU can take over the persistent
reservation with the PREEMPT service action upon live migration.

The approach involves snooping PERSISTENT RESERVE OUT replies and tracking the
scsi-block device's current reservation key and reservation type. In most cases
this involves no additional SCSI commands. This approach isn't perfect: if
another machine modifies the reservation on the physical LUN, then QEMU's state
becomes stale. Persistent reservations are inherently cooperative, so this is
acceptable as long as real applications don't run into problems.

One issue is that this would not transfer reservations done from a previous invocation of the VM. Are you assuming that the restarted VM won't assume to still have the reservation? I think this is fine, but it has to be documented, or maybe QEMU could issue a PR IN command at startup?

I am also working on a test suite called pr-tests that runs sg_persist(8)
commands across multiple machines in order to exercise various scenarios:
https://gitlab.com/stefanha/pr-tests

Thank you so much for that!

Paolo


Reply via email to