Commit e8aa5ee2 authored by unknown's avatar unknown

Merge whalegate.ndb.mysql.com:/home/tomas/mysql-5.0-ndb

into  whalegate.ndb.mysql.com:/home/tomas/mysql-5.1-single-user


storage/ndb/src/kernel/error/ndbd_exit_codes.c:
  Auto merged
storage/ndb/include/mgmapi/ndbd_exit_codes.h:
  manual merge
storage/ndb/src/kernel/blocks/dbdict/Dbdict.cpp:
  manual merge
parents 362d3649 35d17e61
......@@ -78,9 +78,9 @@ typedef ndbd_exit_classification_enum ndbd_exit_classification;
#define NDBD_EXIT_SR_RESTARTCONFLICT 2311
#define NDBD_EXIT_NO_MORE_UNDOLOG 2312
#define NDBD_EXIT_SR_UNDOLOG 2313
#define NDBD_EXIT_SR_SCHEMAFILE 2310
#define NDBD_EXIT_SINGLE_USER_MODE 2314
#define NDBD_EXIT_NODE_DECLARED_DEAD 2315
#define NDBD_EXIT_SR_SCHEMAFILE 2316
#define NDBD_EXIT_MEMALLOC 2327
#define NDBD_EXIT_BLOCK_JBUFCONGESTION 2334
#define NDBD_EXIT_TIME_QUEUE_SHORT 2335
......
......@@ -1371,14 +1371,24 @@ void Dbdict::readSchemaConf(Signal* signal,
for (Uint32 n = 0; n < xsf->noOfPages; n++) {
SchemaFile * sf = &xsf->schemaPage[n];
bool ok =
memcmp(sf->Magic, NDB_SF_MAGIC, sizeof(sf->Magic)) == 0 &&
sf->FileSize != 0 &&
sf->FileSize % NDB_SF_PAGE_SIZE == 0 &&
sf->FileSize == sf0->FileSize &&
sf->PageNumber == n &&
computeChecksum((Uint32*)sf, NDB_SF_PAGE_SIZE_IN_WORDS) == 0;
ndbrequireErr(ok || !crashInd, NDBD_EXIT_SR_SCHEMAFILE);
bool ok = false;
if (memcmp(sf->Magic, NDB_SF_MAGIC, sizeof(sf->Magic)) != 0)
{ jam(); }
else if (sf->FileSize == 0)
{ jam(); }
else if (sf->FileSize % NDB_SF_PAGE_SIZE != 0)
{ jam(); }
else if (sf->FileSize != sf0->FileSize)
{ jam(); }
else if (sf->PageNumber != n)
{ jam(); }
else if (computeChecksum((Uint32*)sf, NDB_SF_PAGE_SIZE_IN_WORDS) != 0)
{ jam(); }
else if (crashInd)
{ jam(); }
else
ok = true;
ndbrequireErr(ok, NDBD_EXIT_SR_SCHEMAFILE);
if (! ok) {
jam();
ndbrequireErr(fsPtr.p->fsState == FsConnectRecord::READ_SCHEMA1,
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment