if (ioobj)
ioobj->ioo_seq = FID_SEQ_OST_MDT0;
/* remove fid_seq_is_rsvd() after FID-on-OST allows SEQ > 9 */
- } else if (oa == NULL ||
- !(fid_seq_is_rsvd(oa->o_seq) || fid_seq_is_idif(oa->o_seq))) {
+ } else if (oa == NULL || !(fid_seq_is_rsvd(oa->o_seq) ||
+ fid_seq_is_mdt0(oa->o_seq))) {
CERROR("%s: client %s sent invalid object "POSTID"\n",
exp->exp_obd->obd_name, obd_export_nid2str(exp),
oa ? oa->o_id : -1, oa ? oa->o_seq : -1);
} else {
/* reply out callback would free */
ptlrpc_req_drop_rs(req);
- CWARN("%s: ignoring bulk IO comm error with %s@%s id %s - "
- "client will retry\n",
- exp->exp_obd->obd_name,
- exp->exp_client_uuid.uuid,
- exp->exp_connection->c_remote_uuid.uuid,
- libcfs_id2str(req->rq_peer));
+ LCONSOLE_WARN("%s: Bulk IO read error with %s (at %s), "
+ "client will retry: rc %d\n",
+ exp->exp_obd->obd_name,
+ obd_uuid2str(&exp->exp_client_uuid),
+ obd_export_nid2str(exp), rc);
}
/* send a bulk after reply to simulate a network delay or reordering
* by a router */
} else {
/* reply out callback would free */
ptlrpc_req_drop_rs(req);
- CWARN("%s: ignoring bulk IO comm error with %s@%s id %s - "
- "client will retry\n",
- exp->exp_obd->obd_name,
- exp->exp_client_uuid.uuid,
- exp->exp_connection->c_remote_uuid.uuid,
- libcfs_id2str(req->rq_peer));
+ LCONSOLE_WARN("%s: Bulk IO write error with %s (at %s), "
+ "client will retry: rc %d\n",
+ exp->exp_obd->obd_name,
+ obd_uuid2str(&exp->exp_client_uuid),
+ obd_export_nid2str(exp), rc);
}
cfs_memory_pressure_clr();
RETURN(rc);
RETURN(0);
default:
- DEBUG_REQ(D_ERROR, req, "not permitted during recovery");
+ DEBUG_REQ(D_WARNING, req, "not permitted during recovery");
*process = -EAGAIN;
RETURN(0);
}
struct obd_device *obd = NULL;
ENTRY;
+ /* OST module is kept between remounts, but the last reference
+ * to specific module (say, osd or ofd) kills all related keys
+ * from the environment. so we have to refill it until the root
+ * cause is fixed properly */
+ lu_env_refill(req->rq_svc_thread->t_env);
+
LASSERT(current->journal_info == NULL);
/* primordial rpcs don't affect server recovery */