staging/lustre/ptlrpc: Remove server-specific health checks
authorOleg Drokin <green@linuxhacker.ru>
Tue, 29 Sep 2015 03:43:46 +0000 (23:43 -0400)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 29 Sep 2015 13:22:27 +0000 (15:22 +0200)
ptlrpc_service_health_check is only used on a service, so
it makes no point to retain it in the client code.
Also removing it's helpers: ptlrpc_svcpt_health_check and
ptlrpc_nrs_req_peek_nolock

Reported-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Oleg Drokin <green@linuxhacker.ru>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/lustre/lustre/include/lustre_net.h
drivers/staging/lustre/lustre/ptlrpc/ptlrpc_internal.h
drivers/staging/lustre/lustre/ptlrpc/service.c

index e929c934cfbf63b05feb399e136853933e0dd687..a9286319fc1d1e0bd4652d09f5186f56ae6666ac 100644 (file)
@@ -2541,7 +2541,6 @@ int ptlrpc_start_threads(struct ptlrpc_service *svc);
 int ptlrpc_unregister_service(struct ptlrpc_service *service);
 int liblustre_check_services(void *arg);
 void ptlrpc_daemonize(char *name);
-int ptlrpc_service_health_check(struct ptlrpc_service *);
 void ptlrpc_server_drop_request(struct ptlrpc_request *req);
 void ptlrpc_request_change_export(struct ptlrpc_request *req,
                                  struct obd_export *export);
index 059ad96bb0bf39fe015a636ff80ac56ec88f8ab9..a3608a961f4a0094ec35025a0989f8de068bba5d 100644 (file)
@@ -137,12 +137,6 @@ ptlrpc_nrs_req_get_nolock(struct ptlrpc_service_part *svcpt, bool hp,
        return ptlrpc_nrs_req_get_nolock0(svcpt, hp, false, force);
 }
 
-static inline struct ptlrpc_request *
-ptlrpc_nrs_req_peek_nolock(struct ptlrpc_service_part *svcpt, bool hp)
-{
-       return ptlrpc_nrs_req_get_nolock0(svcpt, hp, true, false);
-}
-
 void ptlrpc_nrs_req_del_nolock(struct ptlrpc_request *req);
 bool ptlrpc_nrs_req_pending_nolock(struct ptlrpc_service_part *svcpt, bool hp);
 
index 326f89e0ccc7432481e4f896df942f5cb7a50833..cdc7e62fde2b6db72d56326fc6d0ec22f6b6f6c4 100644 (file)
@@ -2977,61 +2977,3 @@ int ptlrpc_unregister_service(struct ptlrpc_service *service)
        return 0;
 }
 EXPORT_SYMBOL(ptlrpc_unregister_service);
-
-/**
- * Returns 0 if the service is healthy.
- *
- * Right now, it just checks to make sure that requests aren't languishing
- * in the queue.  We'll use this health check to govern whether a node needs
- * to be shot, so it's intentionally non-aggressive. */
-static int ptlrpc_svcpt_health_check(struct ptlrpc_service_part *svcpt)
-{
-       struct ptlrpc_request *request = NULL;
-       struct timespec64 right_now;
-       struct timespec64 timediff;
-
-       ktime_get_real_ts64(&right_now);
-
-       spin_lock(&svcpt->scp_req_lock);
-       /* How long has the next entry been waiting? */
-       if (ptlrpc_server_high_pending(svcpt, true))
-               request = ptlrpc_nrs_req_peek_nolock(svcpt, true);
-       else if (ptlrpc_server_normal_pending(svcpt, true))
-               request = ptlrpc_nrs_req_peek_nolock(svcpt, false);
-
-       if (request == NULL) {
-               spin_unlock(&svcpt->scp_req_lock);
-               return 0;
-       }
-
-       timediff = timespec64_sub(right_now, request->rq_arrival_time);
-       spin_unlock(&svcpt->scp_req_lock);
-
-       if ((timediff.tv_sec) >
-           (AT_OFF ? obd_timeout * 3 / 2 : at_max)) {
-               CERROR("%s: unhealthy - request has been waiting %llds\n",
-                      svcpt->scp_service->srv_name, (s64)timediff.tv_sec);
-               return -1;
-       }
-
-       return 0;
-}
-
-int
-ptlrpc_service_health_check(struct ptlrpc_service *svc)
-{
-       struct ptlrpc_service_part *svcpt;
-       int i;
-
-       if (svc == NULL)
-               return 0;
-
-       ptlrpc_service_for_each_part(svcpt, i, svc) {
-               int rc = ptlrpc_svcpt_health_check(svcpt);
-
-               if (rc != 0)
-                       return rc;
-       }
-       return 0;
-}
-EXPORT_SYMBOL(ptlrpc_service_health_check);