migration/rdma: Pass qemu_file errors across link
If we fail for some reason (e.g. a mismatched RAMBlock) and it's set the qemu_file error flag, pass that error back to the peer so it can clean up rather than waiting for some higher level progress. Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com> Reviewed-by: Michael R. Hines <michael@hinespot.com> Reviewed-by: Juan Quintela <quintela@redhat.com> Signed-off-by: Juan Quintela <quintela@redhat.com>
This commit is contained in:
		
							parent
							
								
									49228e17ed
								
							
						
					
					
						commit
						12c67ffb1f
					
				@ -2804,6 +2804,9 @@ static int qio_channel_rdma_close(QIOChannel *ioc,
 | 
				
			|||||||
    QIOChannelRDMA *rioc = QIO_CHANNEL_RDMA(ioc);
 | 
					    QIOChannelRDMA *rioc = QIO_CHANNEL_RDMA(ioc);
 | 
				
			||||||
    trace_qemu_rdma_close();
 | 
					    trace_qemu_rdma_close();
 | 
				
			||||||
    if (rioc->rdma) {
 | 
					    if (rioc->rdma) {
 | 
				
			||||||
 | 
					        if (!rioc->rdma->error_state) {
 | 
				
			||||||
 | 
					            rioc->rdma->error_state = qemu_file_get_error(rioc->file);
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
        qemu_rdma_cleanup(rioc->rdma);
 | 
					        qemu_rdma_cleanup(rioc->rdma);
 | 
				
			||||||
        g_free(rioc->rdma);
 | 
					        g_free(rioc->rdma);
 | 
				
			||||||
        rioc->rdma = NULL;
 | 
					        rioc->rdma = NULL;
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user