diff options
author | Boris Protopopov <[email protected]> | 2017-06-26 17:36:49 -0400 |
---|---|---|
committer | Brian Behlendorf <[email protected]> | 2017-06-26 14:36:49 -0700 |
commit | 03928896e114cfc4752c089727474134a2b0204b (patch) | |
tree | c5c454469742a26b1844f64e79e033fd4813512f /module | |
parent | 7e35ea783e55eaa4f0721d34077652b874f979d8 (diff) |
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 <[email protected]>
Signed-off-by: Boris Protopopov <[email protected]>
Closes #5887
Diffstat (limited to 'module')
-rw-r--r-- | module/zfs/bqueue.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/module/zfs/bqueue.c b/module/zfs/bqueue.c index 0e490805c..f30253d24 100644 --- a/module/zfs/bqueue.c +++ b/module/zfs/bqueue.c @@ -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); } |