- IMPORT_SET_STATE(imp, LUSTRE_IMP_REPLAY);
- } else {
- DEBUG_REQ(D_HA, request, "%s: evicting (reconnect/recover flags"
- " not set: %x)", imp->imp_obd->obd_name, msg_flags);
- imp->imp_remote_handle =
- *lustre_msg_get_handle(request->rq_repmsg);
- IMPORT_SET_STATE(imp, LUSTRE_IMP_EVICTED);
- }
+ import_set_state(imp, LUSTRE_IMP_REPLAY);
+ } else if ((ocd->ocd_connect_flags & OBD_CONNECT_LIGHTWEIGHT) != 0 &&
+ !imp->imp_invalid) {
+
+ obd_import_event(imp->imp_obd, imp, IMP_EVENT_INVALIDATE);
+ /* The below message is checked in recovery-small.sh test_106 */
+ DEBUG_REQ(D_HA, request, "%s: lwp recover",
+ imp->imp_obd->obd_name);
+ imp->imp_remote_handle =
+ *lustre_msg_get_handle(request->rq_repmsg);
+ import_set_state(imp, LUSTRE_IMP_RECOVER);
+ } else {
+ DEBUG_REQ(D_HA, request,
+ "%s: evicting (reconnect/recover flags not set: %x)",
+ imp->imp_obd->obd_name, msg_flags);
+ imp->imp_remote_handle =
+ *lustre_msg_get_handle(request->rq_repmsg);
+ import_set_state(imp, LUSTRE_IMP_EVICTED);
+ }