It's efficient, but hackish to call yank unregister calls in channel_close(), especially it'll be hard to debug when qemu crashed with some yank function leaked. Remove that hack, but instead explicitly unregister yank functions at the places where needed, they are: (on src) - migrate_fd_cleanup - postcopy_pause (on dst) - migration_incoming_state_destroy - postcopy_pause_incoming Signed-off-by: Peter Xu <peterx@redhat.com> Message-Id: <20210722175841.938739-6-peterx@redhat.com> Reviewed-by: Lukas Straub <lukasstraub2@web.de> Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
		
			
				
	
	
		
			21 lines
		
	
	
		
			621 B
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			21 lines
		
	
	
		
			621 B
		
	
	
	
		
			C
		
	
	
	
	
	
| /*
 | |
|  * migration yank functions
 | |
|  *
 | |
|  * Copyright (c) Lukas Straub <lukasstraub2@web.de>
 | |
|  *
 | |
|  * This work is licensed under the terms of the GNU GPL, version 2 or later.
 | |
|  * See the COPYING file in the top-level directory.
 | |
|  */
 | |
| 
 | |
| /**
 | |
|  * migration_yank_iochannel: yank function for iochannel
 | |
|  *
 | |
|  * This yank function will call qio_channel_shutdown on the provided QIOChannel.
 | |
|  *
 | |
|  * @opaque: QIOChannel to shutdown
 | |
|  */
 | |
| void migration_yank_iochannel(void *opaque);
 | |
| void migration_ioc_register_yank(QIOChannel *ioc);
 | |
| void migration_ioc_unregister_yank(QIOChannel *ioc);
 | |
| void migration_ioc_unregister_yank_from_file(QEMUFile *file);
 |