 8cfbe929e8
			
		
	
	
		8cfbe929e8
		
	
	
	
	
		
			
			Put an NBD block device into an I/O thread, and then read data from it,
hoping that the NBD connection will yield during that read.  When it
does, the coroutine must be reentered in the block device's I/O thread,
which will only happen if the NBD block driver attaches the connection's
QIOChannel to the new AioContext.  It did not do that after 4ddb5d2fde
("block/nbd: drop connection_co") and prior to "block/nbd: Move s->ioc
on AioContext change", which would cause an assertion failure.
To improve our chances of yielding, the NBD server is throttled to
reading 64 kB/s, and the NBD client reads 128 kB, so it should yield at
some point.
Reviewed-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
Signed-off-by: Hanna Reitz <hreitz@redhat.com>
Signed-off-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
		
	
			
		
			
				
	
	
		
			6 lines
		
	
	
		
			94 B
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			6 lines
		
	
	
		
			94 B
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| ......
 | |
| ----------------------------------------------------------------------
 | |
| Ran 6 tests
 | |
| 
 | |
| OK
 |