Severity : normal
Frequency : rare
+Bugzilla : 18154
+Descriptoin: don't lose wakeup for imp_recovery_waitq
+Details : recover_import_no_retry or invalidate_import and import_close can
+ both sleep on imp_recovery_waitq, but we was send only one wakeup
+ to sleep queue.
+
+Severity : normal
+Frequency : rare
Bugzilla : 18238
Descriptoin: panic in mds_open
Details : don't confuse mds_finish_transno() with PTR_ERR(-ENOENT)
spin_unlock(&imp->imp_lock);
set->set_remaining--;
- cfs_waitq_signal(&imp->imp_recovery_waitq);
+ cfs_waitq_broadcast(&imp->imp_recovery_waitq);
}
/* If we hit an error, we want to recover promptly. */
LASSERT(!req->rq_receiving_reply);
ptlrpc_rqphase_move(req, RQ_PHASE_INTERPRET);
- cfs_waitq_signal(&imp->imp_recovery_waitq);
+ cfs_waitq_broadcast(&imp->imp_recovery_waitq);
RETURN(rc);
}
obd_import_event(imp->imp_obd, imp, IMP_EVENT_INVALIDATE);
atomic_dec(&imp->imp_inval_count);
- cfs_waitq_signal(&imp->imp_recovery_waitq);
+ cfs_waitq_broadcast(&imp->imp_recovery_waitq);
}
/* unset imp_invalid */
imp->imp_last_recon = 0;
spin_unlock(&imp->imp_lock);
- cfs_waitq_signal(&imp->imp_recovery_waitq);
+ cfs_waitq_broadcast(&imp->imp_recovery_waitq);
RETURN(rc);
}
}
if (imp->imp_state == LUSTRE_IMP_FULL) {
- cfs_waitq_signal(&imp->imp_recovery_waitq);
+ cfs_waitq_broadcast(&imp->imp_recovery_waitq);
ptlrpc_wake_delayed(imp);
}