You've already forked mariadb-columnstore-engine
mirror of
https://github.com/mariadb-corporation/mariadb-columnstore-engine.git
synced 2025-08-01 06:46:55 +03:00
fix(cmapi, brm): MCOL-5535 Use an accurate glob when forcing owner of files in /dev/shm on startup (#2923)
Co-authored-by: Roman Nozdrin <rnozdrin@mariadb.com>
This commit is contained in:
71
versioning/BRM/shmkeys.cpp.in
Normal file
71
versioning/BRM/shmkeys.cpp.in
Normal file
@ -0,0 +1,71 @@
|
||||
/* Copyright (C) 2014 InfiniDB, Inc.
|
||||
|
||||
This program is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU General Public License
|
||||
as published by the Free Software Foundation; version 2 of
|
||||
the License.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
|
||||
MA 02110-1301, USA. */
|
||||
|
||||
// $Id: shmkeys.cpp 1823 2013-01-21 14:13:09Z rdempsey $
|
||||
|
||||
#include <cstdlib>
|
||||
#include <string>
|
||||
#include <sstream>
|
||||
#include <iomanip>
|
||||
using namespace std;
|
||||
|
||||
#ifdef WANT_EM_BRM_UID
|
||||
#include "configcpp.h"
|
||||
#endif
|
||||
#define SHMKEYS_DLLEXPORT
|
||||
#include "shmkeys.h"
|
||||
#undef SHMKEYS_DLLEXPORT
|
||||
|
||||
namespace BRM
|
||||
{
|
||||
ShmKeys::ShmKeys()
|
||||
{
|
||||
uint32_t BRM_UID = 0x0;
|
||||
|
||||
#ifdef WANT_EM_BRM_UID
|
||||
config::Config* cf = config::Config::makeConfig();
|
||||
string brm_str = cf->getConfig("ExtentMap", "BRM_UID");
|
||||
|
||||
if (brm_str.length() > 0)
|
||||
BRM_UID = static_cast<uint32_t>(config::Config::uFromText(brm_str));
|
||||
|
||||
#endif
|
||||
|
||||
KEYRANGE_VSS_BASE = 0x10000 | (BRM_UID << 20);
|
||||
KEYRANGE_EXTENTMAP_BASE = 0x20000 | (BRM_UID << 20);
|
||||
KEYRANGE_EMFREELIST_BASE = 0x30000 | (BRM_UID << 20);
|
||||
KEYRANGE_VBBM_BASE = 0x40000 | (BRM_UID << 20);
|
||||
KEYRANGE_CL_BASE = 0x50000 | (BRM_UID << 20);
|
||||
KEYRANGE_EXTENTMAP_INDEX_BASE = 0x60000 | (BRM_UID << 20);
|
||||
MST_SYSVKEY = 0xff000000 | BRM_UID;
|
||||
PROCESSSTATUS_SYSVKEY = 0xfd000000 | BRM_UID;
|
||||
SYSTEMSTATUS_SYSVKEY = 0xfc000000 | BRM_UID;
|
||||
SWITCHSTATUS_SYSVKEY = 0xfb000000 | BRM_UID;
|
||||
NICSTATUS_SYSVKEY = 0xf9000000 | BRM_UID;
|
||||
DBROOTSTATUS_SYSVKEY = 0xf8000000 | BRM_UID;
|
||||
DECOMSVRMUTEX_SYSVKEY = 0xf7000000 | BRM_UID;
|
||||
}
|
||||
|
||||
string ShmKeys::keyToName(unsigned key)
|
||||
{
|
||||
ostringstream oss;
|
||||
oss << "@SHMEM_FILE_GLOB@";
|
||||
oss << setw(8) << setfill('0') << hex << key;
|
||||
return oss.str();
|
||||
}
|
||||
|
||||
} // namespace BRM
|
Reference in New Issue
Block a user