I want a qemu vm to rollback to a snapshot named "default" on pre-start. 
The vm only holds static data and can therefore be easily recovered if somebody screws up something by booting. If I want to make a persistent change, I would just have to delete the snapshot, do the changes and create it again.
I have created a hook script which does the following on pre-start:
	
	
	
		
Unfortunately, this does not work. On start, I get the following message in the logs:
Obviously, the VM is already locked in the pre-start phase so that I cannot do the restore in the hook script. Is there any other way to accomplish what I want?
				
			The vm only holds static data and can therefore be easily recovered if somebody screws up something by booting. If I want to make a persistent change, I would just have to delete the snapshot, do the changes and create it again.
I have created a hook script which does the following on pre-start:
		Perl:
	
	if (/* condition */) {
        print "Start rollback to default ...\n\n";
        system("/usr/sbin/qm rollback $vmid default");
        print "Finished rollback to default.\n";
    }
    else {
        print "Snapshot default not present. Skipping ...\n";
    }
	Unfortunately, this does not work. On start, I get the following message in the logs:
GUEST HOOK: 203 pre-start
203 is starting, doing preparations.
Restoring Snapshot default, if present
Start rollback to default ...
trying to acquire lock...
can't lock file '/var/lock/qemu-server/lock-203.conf' - got timeout
Finished rollback to default.
GUEST HOOK: 203 post-start
1301 started successfully.
TASK OK
Obviously, the VM is already locked in the pre-start phase so that I cannot do the restore in the hook script. Is there any other way to accomplish what I want?