Bug #19255 ndb: restore of ndb backup from different endian does not work

+ removed not needed --
parent fe67d648
...@@ -1524,7 +1524,7 @@ sub ndbcluster_start ($) { ...@@ -1524,7 +1524,7 @@ sub ndbcluster_start ($) {
if ( mtr_run("$glob_mysql_test_dir/ndb/ndbcluster", if ( mtr_run("$glob_mysql_test_dir/ndb/ndbcluster",
["--port=$opt_ndbcluster_port", ["--port=$opt_ndbcluster_port",
"--data-dir=$opt_vardir", "--data-dir=$opt_vardir",
"--character-sets-dir=$path_charsetsdir"], "--character-sets-dir=$path_charsetsdir",
"--verbose=2", "--verbose=2",
"--core"], "--core"],
"", "/dev/null", "", "") ) "", "/dev/null", "", "") )
......
...@@ -1021,7 +1021,6 @@ RestoreLogIterator::getNextLogEntry(int & res) { ...@@ -1021,7 +1021,6 @@ RestoreLogIterator::getNextLogEntry(int & res) {
if(hasGcp){ if(hasGcp){
// last attr_data is gci info // last attr_data is gci info
attr_data_len--; attr_data_len--;
len--;
m_last_gci = ntohl(*(attr_data + attr_data_len)); m_last_gci = ntohl(*(attr_data + attr_data_len));
} }
} while(m_last_gci > stopGCP + 1); } while(m_last_gci > stopGCP + 1);
...@@ -1057,6 +1056,9 @@ RestoreLogIterator::getNextLogEntry(int & res) { ...@@ -1057,6 +1056,9 @@ RestoreLogIterator::getNextLogEntry(int & res) {
return 0; return 0;
} }
if(unlikely(!m_hostByteOrder))
*(Uint32*)ah = Twiddle32(*(Uint32*)ah);
attr->Desc = (* tab)[ah->getAttributeId()]; attr->Desc = (* tab)[ah->getAttributeId()];
assert(attr->Desc != 0); assert(attr->Desc != 0);
......
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