mirror of
				https://git.proxmox.com/git/mirror_zfs
				synced 2025-11-04 12:35:20 +00:00 
			
		
		
		
	Fix taskq_wait_outstanding re-evaluate tq_next_id
wait_event is a macro, so the current implementation will cause re- evaluation of tq_next_id every time it wakes up. This would cause taskq_wait_outstanding(tq, 0) to be equivalent to taskq_wait(tq) Signed-off-by: Chunwei Chen <david.chen@osnexus.com> Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov> Signed-off-by: Tim Chase <tim@chase2k.com> Issue #553
This commit is contained in:
		
							parent
							
								
									5ce028b0d4
								
							
						
					
					
						commit
						b3a22a0a00
					
				@ -447,8 +447,8 @@ taskq_wait_outstanding_check(taskq_t *tq, taskqid_t id)
 | 
			
		||||
void
 | 
			
		||||
taskq_wait_outstanding(taskq_t *tq, taskqid_t id)
 | 
			
		||||
{
 | 
			
		||||
	wait_event(tq->tq_wait_waitq,
 | 
			
		||||
	    taskq_wait_outstanding_check(tq, id ? id : tq->tq_next_id - 1));
 | 
			
		||||
	id = id ? id : tq->tq_next_id - 1;
 | 
			
		||||
	wait_event(tq->tq_wait_waitq, taskq_wait_outstanding_check(tq, id));
 | 
			
		||||
}
 | 
			
		||||
EXPORT_SYMBOL(taskq_wait_outstanding);
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
		Loading…
	
		Reference in New Issue
	
	Block a user