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.
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. <info@clusterfs.com>
* version 1.4.2
NOTE: Lustre 1.4.2 uses an incompatible network protocol than previous
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();