From 1e708f65dd7a7873dbfa1e897cb49bf4ddefa7d0 Mon Sep 17 00:00:00 2001 From: wangdi Date: Mon, 4 Dec 2006 09:03:57 +0000 Subject: [PATCH] Branch:b_new_cmd Disable target_stop_recovery_thread temporarily, because it might cause dead-lock of target_recovery_thread. For example 1) in recovery, if clients are still not reconnected to the MDS. 2) this MDS failed again, try to stop_recovery_thread here. obd_abort_recovery is set to 1. 3) MDS disconnect stale exports, obd_abort_recovery will be reset to 0. and check the next replay, but currently the MDS already disconnect the exports. and next replay req will never reached. so the recovery-thread will hang there. --- lustre/mdt/mdt_recovery.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lustre/mdt/mdt_recovery.c b/lustre/mdt/mdt_recovery.c index dfb7c12..4880fdd 100644 --- a/lustre/mdt/mdt_recovery.c +++ b/lustre/mdt/mdt_recovery.c @@ -977,7 +977,7 @@ void mdt_fs_cleanup(const struct lu_env *env, struct mdt_device *mdt) struct obd_device *obd = mdt->mdt_md_dev.md_lu_dev.ld_obd; class_disconnect_exports(obd); /* cleans up client info too */ - target_stop_recovery_thread(obd); + // target_stop_recovery_thread(obd); target_cleanup_recovery(obd); /* Remove transaction callback */ -- 1.8.3.1