diff options
author | unknown <jonas@perch.ndb.mysql.com> | 2008-02-08 15:17:45 +0100 |
---|---|---|
committer | unknown <jonas@perch.ndb.mysql.com> | 2008-02-08 15:17:45 +0100 |
commit | 56165c20ec3cbfa1412dab7e9877d5e16ee0bbab (patch) | |
tree | 778c16dde653638a01639d3ab87f24e68dc2eae8 /libmysql_r | |
parent | 25bddc4de1dbb0c40a9137ee9a5b2ffa15b4384d (diff) | |
download | mariadb-git-56165c20ec3cbfa1412dab7e9877d5e16ee0bbab.tar.gz |
ndb - bug#34378
Using more than 16g can cause record-pool ptr.i values to overflow
Fix by splitting memory into 2 zones, lo(16g)/hi(rest)
When record pools only use zone_lo, and datamemory, buffers etc...can use any
storage/ndb/src/kernel/blocks/lgman.cpp:
adopt to changed interface for Ndbd_mem_manager
storage/ndb/src/kernel/vm/Pool.cpp:
Always use ZONE_LO for record pools
as they use ptr.i == 19 bit page id + 13 bit page index
storage/ndb/src/kernel/vm/ndbd_malloc_impl.cpp:
Add zones to Ndbd_mem_manager
ZONE_LO = lower 16g
ZONE_HI = rest
storage/ndb/src/kernel/vm/ndbd_malloc_impl.hpp:
Add zones to Ndbd_mem_manager
ZONE_LO = lower 16g
ZONE_HI = rest
Diffstat (limited to 'libmysql_r')
0 files changed, 0 insertions, 0 deletions