mirror of
				https://github.com/qemu/qemu.git
				synced 2025-10-31 04:06:46 +00:00 
			
		
		
		
	 ecdd5333ab
			
		
	
	
		ecdd5333ab
		
	
	
	
	
		
			
			Instead of just checking once in exactly this order if there are dependendies, non-COW clusters and new allocation, this starts looping around these. This way we can, for example, gather non-COW clusters after new allocations as long as the host cluster offsets stay contiguous. Once handle_dependencies() is extended so that COW areas of in-flight allocations can be overwritten, this allows to continue with gathering other clusters (we wouldn't be able to do that without this change because we would have missed a possible second dependency in one of the next clusters). This means that in the typical sequential write case, we can combine the COW overwrite of one cluster with the allocation of the next cluster as soon as something like Delayed COW gets actually implemented. It is only by avoiding splitting requests this way that Delayed COW actually starts improving performance noticably. Signed-off-by: Kevin Wolf <kwolf@redhat.com> Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
		
			
				
	
	
		
			9 lines
		
	
	
		
			234 B
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			9 lines
		
	
	
		
			234 B
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| No errors were found on the image.
 | |
| 7292415/33554432 = 21.73% allocated, 0.00% fragmented, 0.00% compressed clusters
 | |
| Image end offset: 4296448000
 | |
| .
 | |
| ----------------------------------------------------------------------
 | |
| Ran 1 tests
 | |
| 
 | |
| OK
 |