Whamcloud - gitweb
use special macro for print time_t, cleanup in includes.
[fs/lustre-release.git] / lustre / ptlrpc / pinger.c
index d4f969a..274e8e9 100644 (file)
 #include "ptlrpc_internal.h"
 
 struct semaphore pinger_sem;
-static struct list_head pinger_imports = CFS_LIST_HEAD_INIT(pinger_imports);
+static CFS_LIST_HEAD(pinger_imports);
 
 int ptlrpc_ping(struct obd_import *imp)
 {
         struct ptlrpc_request *req;
-        int rc = 0;
         ENTRY;
 
-        req = ptlrpc_prep_req(imp, LUSTRE_OBD_VERSION, OBD_PING, 1, NULL, NULL);
-        if (req) {
-                DEBUG_REQ(D_INFO, req, "pinging %s->%s",
-                          imp->imp_obd->obd_uuid.uuid,
-                          obd2cli_tgt(imp->imp_obd));
-                req->rq_no_resend = req->rq_no_delay = 1;
-                ptlrpc_req_set_repsize(req, 1, NULL);
-                req->rq_timeout = PING_INTERVAL;
-                ptlrpcd_add_req(req);
-        } else {
+        req = ptlrpc_request_alloc_pack(imp, &RQF_OBD_PING, LUSTRE_OBD_VERSION,
+                                        OBD_PING);
+        if (req == NULL) {
                 CERROR("OOM trying to ping %s->%s\n",
                        imp->imp_obd->obd_uuid.uuid,
                        obd2cli_tgt(imp->imp_obd));
-                rc = -ENOMEM;
+                RETURN(-ENOMEM);
         }
 
-        RETURN(rc);
+        DEBUG_REQ(D_INFO, req, "pinging %s->%s",
+                  imp->imp_obd->obd_uuid.uuid, obd2cli_tgt(imp->imp_obd));
+        req->rq_no_resend = req->rq_no_delay = 1;
+        ptlrpc_request_set_replen(req);
+        req->rq_timeout = PING_INTERVAL;
+        ptlrpcd_add_req(req);
+
+        RETURN(0);
 }
 
 void ptlrpc_update_next_ping(struct obd_import *imp)
@@ -434,7 +433,7 @@ static int ping_evictor_main(void *arg)
                 obd = pet_exp->exp_obd;
                 spin_unlock(&pet_lock);
 
-                expire_time = CURRENT_SECONDS - (3 * obd_timeout / 2);
+                expire_time = cfs_time_current_sec() - (3 * obd_timeout / 2);
 
                 CDEBUG(D_HA, "evicting all exports of obd %s older than %ld\n",
                        obd->obd_name, expire_time);
@@ -458,9 +457,9 @@ static int ping_evictor_main(void *arg)
                                               obd->obd_name,
                                               obd_uuid2str(&exp->exp_client_uuid),
                                               obd_export_nid2str(exp),
-                                              (long)(CURRENT_SECONDS -
+                                              (long)(cfs_time_current_sec() -
                                                      exp->exp_last_request_time),
-                                              exp, (long)CURRENT_SECONDS,
+                                              exp, (long)cfs_time_current_sec(),
                                               (long)expire_time,
                                               (long)exp->exp_last_request_time);
                                 CDEBUG(D_HA, "Last request was at %ld\n",
@@ -584,14 +583,18 @@ static int pinger_check_rpcs(void *arg)
                                 continue;
                         }
 
-                        req = ptlrpc_prep_req(imp, LUSTRE_OBD_VERSION, OBD_PING,
-                                              1, NULL, NULL);
-                        if (!req) {
-                                CERROR("out of memory\n");
+                        req = ptlrpc_request_alloc_pack(imp, &RQF_OBD_PING,
+                                                        LUSTRE_OBD_VERSION,
+                                                        OBD_PING);
+                        if (req == NULL) {
+                                CERROR("OOM trying to ping %s->%s\n",
+                                       imp->imp_obd->obd_uuid.uuid,
+                                       obd2cli_tgt(imp->imp_obd));
                                 break;
                         }
+
                         req->rq_no_resend = 1;
-                        ptlrpc_req_set_repsize(req, 1, NULL);
+                        ptlrpc_request_set_replen(req);
                         req->rq_send_state = LUSTRE_IMP_FULL;
                         req->rq_phase = RQ_PHASE_RPC;
                         req->rq_import_generation = generation;