Whamcloud - gitweb
b=23192 ping_evictor_main() should skip export eviction only we are still in recovery
authorJohann Lombardi <johann@sun.com>
Wed, 30 Jun 2010 23:00:27 +0000 (01:00 +0200)
committerJohann Lombardi <johann@sun.com>
Wed, 30 Jun 2010 23:00:27 +0000 (01:00 +0200)
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

index fc286a8..4cb8b9b 100644 (file)
@@ -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;