From c629f439183e5f3d272568bd8e965f0d4b86490a Mon Sep 17 00:00:00 2001 From: phil Date: Tue, 17 May 2005 03:41:19 +0000 Subject: [PATCH] b=6200 A bug in MDS/OSS recovery could cause the OSS to fail a (ctxt == NULL) assertion. There's little harm in just aborting MDS/OSS recovery and letting it try again next time, so I removed the LASSERT and return an error instead. We can revisit it when we put the knife in the llog code for real. --- lustre/ChangeLog | 9 ++++++++- lustre/ptlrpc/llog_client.c | 8 +++++++- 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/lustre/ChangeLog b/lustre/ChangeLog index 92c4b40..ea1f882 100644 --- a/lustre/ChangeLog +++ b/lustre/ChangeLog @@ -30,7 +30,14 @@ Bugzilla : 6242, 6243 Description: reading from files that had been truncated to a non-zero size but never opened returned no data Details : ll_file_read() reads zeros from no-object files to EOF - + +Severity : major +Frequency : rare +Bugzilla : 6200 +Description: A bug in MDS/OSS recovery could cause the OSS to fail an assertion +Details : There's little harm in just aborting MDS/OSS recovery and letting + it try again next time, so I removed the LASSERT and return an error instead. + 2005-05-05 Cluster File Systems, Inc. * version 1.4.2 NOTE: Lustre 1.4.2 uses an incompatible network protocol than previous diff --git a/lustre/ptlrpc/llog_client.c b/lustre/ptlrpc/llog_client.c index 591c5fc..5ea8bca 100644 --- a/lustre/ptlrpc/llog_client.c +++ b/lustre/ptlrpc/llog_client.c @@ -57,7 +57,13 @@ static int llog_client_create(struct llog_ctxt *ctxt, struct llog_handle **res, int rc; ENTRY; - LASSERT(ctxt->loc_imp); + if (ctxt->loc_imp == NULL) { + /* This used to be an assert; bug 6200 */ + CERROR("ctxt->loc_imp == NULL for context idx %d. Unable to " + "complete MDS/OSS recovery, but I'll try again next " + "time. Not fatal.\n", ctxt->loc_idx); + RETURN(-EINVAL); + } imp = ctxt->loc_imp; handle = llog_alloc_handle(); -- 1.8.3.1