Drive Migration Fails and Gets Stuck in Loop

May 6, 2025
12
1
3
Toronto, ON, Canada
At the end of a drive migration on a live VM when it gets to 100% it goes into a loop like the following:

Code:
drive-scsi0: transferred 180.1 GiB of 180.1 GiB (100.00%) in 49m 37s, still busy
all 'mirror' jobs are ready
drive-scsi0: Completing block job...
drive-scsi0: Completed successfully.
all 'mirror' jobs are ready
drive-scsi0: Completing block job...
drive-scsi0: Completed successfully.
all 'mirror' jobs are ready
drive-scsi0: Completing block job...
drive-scsi0: Completed successfully.
all 'mirror' jobs are ready

And then just keeps repeating those last 3 lines over and over again, saying that all mirror jobs are ready, completing block job, completed successfully. Except it ran for several hours like that and every few seconds was still pumping out those 3 lines until I killed it. Has anyone seen anything like this? This is the 3rd attempt at migrating this drive.
 
Not much to go on. I'll guess something is locking the virtual disc file.

Are there any replication or backup jobs defined?
Are there any snapshots?
Is this a cluster of hosts with shared storage?

If any of the above stir an idea - cool. If not, then please come back with a broad brush description of your system
 
I ended up just giving up on this and did it a different way. I _think_ that there was an old datastore that no longer existed and a leftover unused drive that thought it was still on there. Wish I could have found something in the logs somewhere that would have given me a clue but sometimes it just doesn't work out that way LOL
 
Hi,
could you share the output of pveversion -v from both source and target of the migration as well as the VM configuration qm config <ID> replacing <ID> with the actual ID of the VM?
 
Hi @fiona ... sorry this VM has already been migrated and dealt with so I cannot recreate this one. Pretty sure this was an error loop because it was trying to find/access/migrate a drive from a storage location that no longer existed and the error wasn't catching/logging that, just going in circles and falsely reporting that the job was completed.