Whamcloud - gitweb
LU-13088 ldlm: Fix sleeping function called in atomic
[fs/lustre-release.git] / lustre / ldlm / ldlm_lib.c
index b70bd26..5ee714e 100644 (file)
@@ -2118,11 +2118,13 @@ repeat:
                         * yet, let's wait those threads stopped
                         */
                        if (next_update_transno == 0) {
+                               spin_unlock(&obd->obd_recovery_task_lock);
                                wait_event_idle(
                                        tdtd->tdtd_recovery_threads_waitq,
                                        atomic_read(&tdtd->tdtd_recovery_threads_count)
                                        == 0);
 
+                               spin_lock(&obd->obd_recovery_task_lock);
                                next_update_transno =
                                        distribute_txn_get_next_transno(
                                                                lut->lut_tdtd);