void ptlrpc_server_drop_request(struct ptlrpc_request *req);
void ptlrpc_request_change_export(struct ptlrpc_request *req,
struct obd_export *export);
+void ptlrpc_update_export_timer(struct obd_export *exp, long extra_delay);
#ifdef __KERNEL__
int ptlrpc_hr_init(void);
libcfs_nid2str(req->rq_peer.nid));
handle_recovery_req(thread, req,
trd->trd_recovery_handler);
- target_request_copy_put(req);
+ /* Because the waiting client can not send ping to server,
+ * so we need refresh the last_request_time, to avoid the
+ * export is being evicted */
+ ptlrpc_update_export_timer(req->rq_export, 0);
+ target_request_copy_put(req);
}
delta = (jiffies - delta) / HZ;
* This function is only called when some export receives a message (i.e.,
* the network is up.)
*/
-static void ptlrpc_update_export_timer(struct obd_export *exp, long extra_delay)
+void ptlrpc_update_export_timer(struct obd_export *exp, long extra_delay)
{
struct obd_export *oldest_exp;
time_t oldest_time, new_time;
EXIT;
}
+EXPORT_SYMBOL(ptlrpc_update_export_timer);
/**
* Sanity check request \a req.