block: Disallow snapshots if the overlay doesn't support backing files
This addresses scenarios like this one:
  { 'execute': 'blockdev-add', 'arguments':
    { 'options': { 'driver': 'qcow2',
                   'node-name': 'new0',
                   'file': { 'driver': 'file',
                             'filename': 'new.qcow2',
                             'node-name': 'file0' } } } }
  { 'execute': 'blockdev-snapshot', 'arguments':
    { 'node': 'virtio0',
      'overlay': 'file0' } }
Signed-off-by: Alberto Garcia <berto@igalia.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Reviewed-by: Max Reitz <mreitz@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
			
			
This commit is contained in:
		
							parent
							
								
									a0d64a61db
								
							
						
					
					
						commit
						08b24cfe37
					
				| @ -1678,6 +1678,11 @@ static void external_snapshot_prepare(BlkTransactionState *common, | ||||
| 
 | ||||
|     if (state->new_bs->backing != NULL) { | ||||
|         error_setg(errp, "The snapshot already has a backing image"); | ||||
|         return; | ||||
|     } | ||||
| 
 | ||||
|     if (!state->new_bs->drv->supports_backing) { | ||||
|         error_setg(errp, "The snapshot does not support backing images"); | ||||
|     } | ||||
| } | ||||
| 
 | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 Alberto Garcia
						Alberto Garcia