From 05e776c2b9d9fd749cab4474e61e832499af51e1 Mon Sep 17 00:00:00 2001 From: shadow Date: Tue, 24 Jun 2008 09:49:57 +0000 Subject: [PATCH] don't skip invalidate for already invalidated import (mgc reconnect). Branch HEAD b=15716 i=rread i=tappro --- lustre/ptlrpc/client.c | 1 - lustre/ptlrpc/import.c | 10 ++-------- 2 files changed, 2 insertions(+), 9 deletions(-) diff --git a/lustre/ptlrpc/client.c b/lustre/ptlrpc/client.c index dac8412..bc9c2c2 100644 --- a/lustre/ptlrpc/client.c +++ b/lustre/ptlrpc/client.c @@ -667,7 +667,6 @@ static int ptlrpc_import_delay_req(struct obd_import *imp, DEBUG_REQ(D_ERROR, req, "invalidate in flight"); *status = -EIO; } - } else if ((imp->imp_invalid && (!imp->imp_recon_bk)) || imp->imp_obd->obd_no_recov) { /* If the import has been invalidated (such as by an OST diff --git a/lustre/ptlrpc/import.c b/lustre/ptlrpc/import.c index 023139f..869c56a 100644 --- a/lustre/ptlrpc/import.c +++ b/lustre/ptlrpc/import.c @@ -170,12 +170,6 @@ static void ptlrpc_deactivate_and_unlock_import(struct obd_import *imp) ENTRY; LASSERT_SPIN_LOCKED(&imp->imp_lock); - if (imp->imp_invalid) { - spin_unlock(&imp->imp_lock); - EXIT; - return; - } - CDEBUG(D_HA, "setting import %s INVALID\n", obd2cli_tgt(imp->imp_obd)); imp->imp_invalid = 1; imp->imp_generation++; @@ -223,7 +217,7 @@ void ptlrpc_invalidate_import(struct obd_import *imp) LASSERT(imp->imp_invalid); /* wait for all requests to error out and call completion callbacks */ - lwi = LWI_TIMEOUT_INTERVAL(cfs_timeout_cap(cfs_time_seconds(obd_timeout)), + lwi = LWI_TIMEOUT_INTERVAL(cfs_timeout_cap(cfs_time_seconds(obd_timeout)), HZ, NULL, NULL); rc = l_wait_event(imp->imp_recovery_waitq, (atomic_read(&imp->imp_inflight) == 0), &lwi); @@ -245,7 +239,7 @@ void ptlrpc_invalidate_import(struct obd_import *imp) DEBUG_REQ(D_ERROR, req, "still on delayed list"); } spin_unlock(&imp->imp_lock); -// LASSERT(atomic_read(&imp->imp_inflight) == 0); + LASSERT(atomic_read(&imp->imp_inflight) == 0); } out: -- 1.8.3.1