Call cv_signal() with mutex held
In bqueue_dequeue(), call cv_signal() with bq_lock held. Re-enable rsend_009_pos to test the fix. Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Signed-off-by: Boris Protopopov <boris.protopopov@actifio.com> Closes #5887
This commit is contained in:
parent
7e35ea783e
commit
03928896e1
|
@ -97,8 +97,8 @@ bqueue_dequeue(bqueue_t *q)
|
|||
ASSERT3P(ret, !=, NULL);
|
||||
item_size = obj2node(q, ret)->bqn_size;
|
||||
q->bq_size -= item_size;
|
||||
mutex_exit(&q->bq_lock);
|
||||
cv_signal(&q->bq_add_cv);
|
||||
mutex_exit(&q->bq_lock);
|
||||
return (ret);
|
||||
}
|
||||
|
||||
|
|
|
@ -482,10 +482,9 @@ tests = ['reservation_001_pos', 'reservation_002_pos', 'reservation_003_pos',
|
|||
tests = ['rootpool_002_neg', 'rootpool_003_neg', 'rootpool_007_pos']
|
||||
|
||||
# rsend_008_pos - https://github.com/zfsonlinux/zfs/issues/6066
|
||||
# rsend_009_pos - https://github.com/zfsonlinux/zfs/issues/5887
|
||||
[tests/functional/rsend]
|
||||
tests = ['rsend_001_pos', 'rsend_002_pos', 'rsend_003_pos', 'rsend_004_pos',
|
||||
'rsend_005_pos', 'rsend_006_pos', 'rsend_007_pos',
|
||||
'rsend_005_pos', 'rsend_006_pos', 'rsend_007_pos', 'rsend_009_pos',
|
||||
'rsend_010_pos', 'rsend_011_pos', 'rsend_012_pos',
|
||||
'rsend_013_pos', 'rsend_014_pos',
|
||||
'rsend_019_pos', 'rsend_020_pos',
|
||||
|
|
Loading…
Reference in New Issue