PMEMLOG_CTL_GET(3)
β¨ PMEMLOG_CTL_EXEC β¨
okay bestie, pull up a chair because we're reading the PMEMLOG_CTL_EXEC(3) page from the PMDK Programmer's Manual together π
π NAME π
pmemlog_ctl_get() (DEPRECATED), pmemlog_ctl_set() (DEPRECATED), pmemlog_ctl_exec() (DEPRECATED) β Query and modify libpmemlog internal behavior (DEPRECATED)
ngl the whole trio is marked DEPRECATED, so likeβ¦ they're iconic but they're retired, you know? π«Ά
π SYNOPSIS π
#include <libpmemlog.h>
int pmemlog_ctl_get(PMEMlogpool *plp, const char *name, void *arg); (EXPERIMENTAL)
int pmemlog_ctl_set(PMEMlogpool *plp, const char *name, void *arg); (EXPERIMENTAL)
int pmemlog_ctl_exec(PMEMlogpool *plp, const char *name, void *arg); (EXPERIMENTAL)
heads up: all three are (EXPERIMENTAL) β¨ β they're giving "we're still cooking" energy, so don't build your whole personality around them.
πΈ DESCRIPTION πΈ
So pmemlog_ctl_get(), pmemlog_ctl_set() and pmemlog_ctl_exec() are literally the friend group that gives you one single uniform interface for querying and modifying the internal behavior of libpmemlog(7) through the control (CTL) namespace. one interface, three moods π
The name argument specifies an entry point as defined in the CTL namespace specification. The entry point description tells you whether the extra arg is required. Those two parameters together create a CTL query. The functions and the entry points are thread-safe unless indicated otherwise below. If there are special conditions for calling an entry point, they are explicitly stated in its description. The functions propagate the return value of the entry point. If either name or arg is invalid, -1 is returned. π
If the provided ctl query is valid, the CTL functions will always return 0 on success and -1 on failure, unless otherwise specified in the entry point description.
See more in the pmem_ctl(5) man page. iykyk π
π CTL NAMESPACE π
okay so here's the whole roster, one bullet each, no skips:
prefault.at_create | rw | global | int | int | - | boolean
If set, every page of the pool will be touched and written to when the pool is created, in order to trigger page allocation and minimize the performance impact of pagefaults. Affects only the pmemlog_create() function.
Always returns 0. β¨
prefault.at_open | rw | global | int | int | - | boolean
If set, every page of the pool will be touched and written to when the pool is opened, in order to trigger page allocation and minimize the performance impact of pagefaults. Affects only the pmemlog_open() function.
Always returns 0. β¨
sds.at_create | rw | global | int | int | - | boolean
If set, force-enables or force-disables SDS feature during pool creation. Affects only the pmemlog_create() function. See pmempool_feature_query(3) for information about SDS (SHUTDOWN_STATE) feature.
Always returns 0. β¨
copy_on_write.at_open | rw | global | int | int | - | boolean
If set, pool is mapped in such a way that modifications don't reach the underlying medium. From the user's perspective this means that when the pool is closed all changes are reverted. This feature is not supported for pools located on Device DAX. π
Always returns 0. β¨
π¦ CTL EXTERNAL CONFIGURATION π¦
In addition to direct function call, each write entry point can also be set using two alternative methods. yes, there's more than one way to serve the look π«Ά
- The first method is to load a configuration directly from the
PMEMLOG_CONFenvironment variable. - The second method of loading an external configuration is to set the
PMEMLOG_CONF_FILEenvironment variable to point to a file that contains a sequence of ctl queries.
See more in the pmem_ctl(5) man page.
π SEE ALSO π
and that's the whole page bestie, no cap, every last flag accounted for π
this cutie was brought to you by PMDK, dated 2023-05-31 β periodt, go touch some pages πβ¨
π¦ where this page comes from
- debian trixie: libpmemlog-dev 1.13.1-1.1+b1 Β· BSD-3-Clause
- ubuntu noble: libpmemlog-dev 1.13.1-1.1ubuntu2 Β· BSD-3-Clause
- ubuntu questing: libpmemlog-dev 1.13.1-1.1ubuntu3
- ubuntu resolute: libpmemlog-dev 1.13.1-1.1ubuntu4 Β· BSD-3-Clause
- ubuntu stonking: libpmemlog-dev 1.13.1-1.1ubuntu5 Β· BSD-3-Clause
- π the page's license: BSD-3-Clause
- Copyright 2018-2023, Intel Corporation
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms