nbd/client: fix nbd_opt_go
Do not send NBD_OPT_ABORT to the broken server. After sending NBD_REP_ACK on NBD_OPT_GO server is most probably in transmission phase, when option sending is finished. Signed-off-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com> Message-Id: <20170804151440.320927-2-vsementsov@virtuozzo.com> Signed-off-by: Eric Blake <eblake@redhat.com>
This commit is contained in:
		
							parent
							
								
									02d2d860d2
								
							
						
					
					
						commit
						a0acf3a8f7
					
				| 
						 | 
				
			
			@ -399,12 +399,10 @@ static int nbd_opt_go(QIOChannel *ioc, const char *wantname,
 | 
			
		|||
               phase, but make sure it sent flags */
 | 
			
		||||
            if (len) {
 | 
			
		||||
                error_setg(errp, "server sent invalid NBD_REP_ACK");
 | 
			
		||||
                nbd_send_opt_abort(ioc);
 | 
			
		||||
                return -1;
 | 
			
		||||
            }
 | 
			
		||||
            if (!info->flags) {
 | 
			
		||||
                error_setg(errp, "broken server omitted NBD_INFO_EXPORT");
 | 
			
		||||
                nbd_send_opt_abort(ioc);
 | 
			
		||||
                return -1;
 | 
			
		||||
            }
 | 
			
		||||
            trace_nbd_opt_go_success();
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue