Whamcloud - gitweb
LU-4423 ptlrpc: use 64-bit times for request times
[fs/lustre-release.git] / lustre / ptlrpc / lproc_ptlrpc.c
index f10dc6c..9aa7ed5 100644 (file)
@@ -973,35 +973,34 @@ static int ptlrpc_lprocfs_svc_req_history_show(struct seq_file *s, void *iter)
        rc = ptlrpc_lprocfs_svc_req_history_seek(svcpt, srhi, srhi->srhi_seq);
 
        if (rc == 0) {
-               struct timespec arrival, sent, arrivaldiff;
+               struct timespec64 arrival, sent, arrivaldiff;
                char nidstr[LNET_NIDSTR_SIZE];
 
                req = srhi->srhi_req;
 
                libcfs_nid2str_r(req->rq_self, nidstr, sizeof(nidstr));
                arrival.tv_sec = req->rq_arrival_time.tv_sec;
-               arrival.tv_nsec =
-                       req->rq_arrival_time.tv_usec * NSEC_PER_USEC;
+               arrival.tv_nsec = req->rq_arrival_time.tv_nsec;
                sent.tv_sec = req->rq_sent;
                sent.tv_nsec = 0;
-               arrivaldiff = timespec_sub(sent, arrival);
+               arrivaldiff = timespec64_sub(sent, arrival);
 
                /* Print common req fields.
                 * CAVEAT EMPTOR: we're racing with the service handler
                 * here.  The request could contain any old crap, so you
                 * must be just as careful as the service's request
                 * parser. Currently I only print stuff here I know is OK
-                * to look at coz it was set up in request_in_callback()!!! */
-               seq_printf(s, "%lld:%s:%s:x%llu:%d:%s:"
-                          "%ld.%06ld:%ld.%06lds(%+ld.0s) ",
+                * to look at coz it was set up in request_in_callback()!!!
+                */
+               seq_printf(s, "%lld:%s:%s:x%llu:%d:%s:%lld.%06lld:%lld.%06llds(%+lld.0s) ",
                           req->rq_history_seq, nidstr,
                           libcfs_id2str(req->rq_peer), req->rq_xid,
                           req->rq_reqlen, ptlrpc_rqphase2str(req),
-                          req->rq_arrival_time.tv_sec,
-                          req->rq_arrival_time.tv_usec,
-                          arrivaldiff.tv_sec,
-                          arrivaldiff.tv_nsec / NSEC_PER_USEC,
-                          req->rq_sent - req->rq_deadline);
+                          (s64)req->rq_arrival_time.tv_sec,
+                          (s64)(req->rq_arrival_time.tv_nsec / NSEC_PER_USEC),
+                          (s64)arrivaldiff.tv_sec,
+                          (s64)(arrivaldiff.tv_nsec / NSEC_PER_USEC),
+                          (s64)(req->rq_sent - req->rq_deadline));
                if (svc->srv_ops.so_req_printer == NULL)
                        seq_printf(s, "\n");
                else