diff options
author | Oleg Drokin <green@linuxhacker.ru> | 2015-09-28 23:43:46 -0400 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2015-09-29 15:22:27 +0200 |
commit | e64674d093ed58e507cf93647e690c2a11541181 (patch) | |
tree | f550f830aafcfd175c3394b1bf1d3e3ac21aa7de /drivers/staging/lustre/lustre/ptlrpc/service.c | |
parent | 600362f9170af4b3370c8e43cddb81a8182a7998 (diff) |
staging/lustre/ptlrpc: Remove server-specific health checks
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>
Diffstat (limited to 'drivers/staging/lustre/lustre/ptlrpc/service.c')
-rw-r--r-- | drivers/staging/lustre/lustre/ptlrpc/service.c | 58 |
1 files changed, 0 insertions, 58 deletions
diff --git a/drivers/staging/lustre/lustre/ptlrpc/service.c b/drivers/staging/lustre/lustre/ptlrpc/service.c index 326f89e0ccc7..cdc7e62fde2b 100644 --- a/drivers/staging/lustre/lustre/ptlrpc/service.c +++ b/drivers/staging/lustre/lustre/ptlrpc/service.c @@ -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); |