From edc1e28ce344ee03a4262b3f82f6ac8ce900b803 Mon Sep 17 00:00:00 2001 From: Johann Lombardi Date: Thu, 1 Jul 2010 01:00:27 +0200 Subject: [PATCH] b=23192 ping_evictor_main() should skip export eviction only we are still in recovery i=panda i=tappro target_recovery_check_and_stop() now returns 1 when the ost is not in recovery. This confuses the ping evictor which decides not to process export that needs to be evicted. --- lustre/ptlrpc/pinger.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/lustre/ptlrpc/pinger.c b/lustre/ptlrpc/pinger.c index fc286a8..4cb8b9b 100644 --- a/lustre/ptlrpc/pinger.c +++ b/lustre/ptlrpc/pinger.c @@ -626,10 +626,12 @@ static int ping_evictor_main(void *arg) obd_evict_list); spin_unlock(&pet_lock); - /* bug 18948: ensure recovery is aborted in a timely fashion */ - if (target_recovery_check_and_stop(obd) || - obd->obd_recovering /* no evictor during recovery */) - GOTO(skip, 0); + if (obd->obd_recovering) { + /* bug 18948: ensure recovery is aborted in a timely fashion */ + target_recovery_check_and_stop(obd); + /* no evictor during recovery */ + GOTO(skip, 0); + } expire_time = cfs_time_current_sec() - PING_EVICT_TIMEOUT; -- 1.8.3.1