summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorunknown <joreland@mysql.com>2004-07-28 11:05:27 +0200
committerunknown <joreland@mysql.com>2004-07-28 11:05:27 +0200
commit8269f8acffcb0a7fc91e87abd7665da4f7da6583 (patch)
treecae14b73a1c711eb135005053a441b7492bb6b7d
parent0cf30d26c2eae7aeb9773c1a69ba691a3c13b9ea (diff)
parent99dfeddbef92d7b6f98e8a1d80f540b6bfcf64c1 (diff)
downloadmariadb-git-8269f8acffcb0a7fc91e87abd7665da4f7da6583.tar.gz
Merge joreland@bk-internal.mysql.com:/home/bk/mysql-4.1
into mysql.com:/home/jonas/src/mysql-4.1
-rw-r--r--ndb/src/common/util/ConfigValues.cpp8
1 files changed, 5 insertions, 3 deletions
diff --git a/ndb/src/common/util/ConfigValues.cpp b/ndb/src/common/util/ConfigValues.cpp
index 7fc99bc526c..1dcb542e92c 100644
--- a/ndb/src/common/util/ConfigValues.cpp
+++ b/ndb/src/common/util/ConfigValues.cpp
@@ -261,9 +261,9 @@ directory(Uint32 sz){
ConfigValuesFactory::ConfigValuesFactory(Uint32 keys, Uint32 data){
m_sectionCounter = (1 << KP_SECTION_SHIFT);
m_freeKeys = directory(keys);
- m_freeData = data;
+ m_freeData = (data + 7) & ~7;
m_currentSection = 0;
- m_cfg = create(m_freeKeys, data);
+ m_cfg = create(m_freeKeys, m_freeData);
}
ConfigValuesFactory::ConfigValuesFactory(ConfigValues * cfg){
@@ -316,7 +316,8 @@ ConfigValuesFactory::expand(Uint32 fk, Uint32 fs){
m_freeKeys = (m_freeKeys >= fk ? m_cfg->m_size : fk + m_cfg->m_size);
m_freeData = (m_freeData >= fs ? m_cfg->m_dataSize : fs + m_cfg->m_dataSize);
m_freeKeys = directory(m_freeKeys);
-
+ m_freeData = (m_freeData + 7) & ~7;
+
ConfigValues * m_tmp = m_cfg;
m_cfg = create(m_freeKeys, m_freeData);
put(* m_tmp);
@@ -333,6 +334,7 @@ ConfigValuesFactory::shrink(){
m_freeKeys = m_cfg->m_size - m_freeKeys;
m_freeData = m_cfg->m_dataSize - m_freeData;
m_freeKeys = directory(m_freeKeys);
+ m_freeData = (m_freeData + 7) & ~7;
ConfigValues * m_tmp = m_cfg;
m_cfg = create(m_freeKeys, m_freeData);