$darkmode
Elektra 0.10.0
|
This is a high performance storage plugin that supports full Elektra semantics.
The storage format uses Elektra's in-memory data layout and employs the mmap()
system call to read/write data. The format is not portable across different architectures/platforms. The format can be seen as a memory dump of a keyset. Therefore, the files must not be edited by hand. Files written by mmapstorage are not intended to be human-readable.
Mount mmapstorage using kdb mount
:
Unmount mmapstorage using kdb umount
:
The mmapstorage has two compilation variants:
The mmapstorage
will always be compiled on a supported system (see Dependencies). When zlib is available, we will additionally compile the mmapstorage_crc
variant. The first variant does not do a CRC32 checksum of the critical data, while the second variant always checks the CRC32 checksum for additional security.
See installation. The mmapstorage
variant is part of the libelektra5
package and the mmapstorage_crc
is part of the libelektra5-extra
package.
POSIX compliant system (including XSI extensions).
Additionally, zlib is needed for the mmapstorage_crc
compilation variant: zlib1g-dev
or zlib-devel
.
Mapped files shall not be altered, otherwise the behavior is undefined.
The mmap()
system call only supports regular files and so does the mmapstorage plugin with one notable exception: The plugin detects when it is called with the files /dev/stdin
and /dev/stdout
and makes an internal copy. This makes the plugin compatible with kdb import
and kdb export
.