mirror of
git://sourceware.org/git/lvm2.git
synced 2024-12-21 13:34:40 +03:00
e38aaddb5e
Add support for configuration checking - type checking and recognition of registered configuration settings that LVM2 understands and also check the structure of the configuration. Log error on any mismatch found. A hash over all allowed configuration paths is created which helps with matching the exact configuration (lvm.conf/--config tree) with the configuration item definition from config_settings.h in an efficient and one-step way. Two more helper flags are introduced for each configuration definition item: - CFG_USED which marks the item as being used (lvm.conf/--config) This helps with identifying missing configuration options (and for which defaults were used) when traversing the tree later. - CFG_VALID which denotes that the item has already been checked and it was found valid. This improves performance, so if the check is called once again on the same tree which was not reloaded, we can just return the state from previous check (with a possibility to force the check if needed). The new function that config.h exports and which is going to be used to perform the configuration checking is: int config_def_check(struct cmd_context *cmd, int force, int skip, int suppress_messages) ...which is exported internally via config.h. |
||
---|---|---|
.. | ||
config_settings.h | ||
config.c | ||
config.h | ||
defaults.h |