summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Rajnoha <prajnoha@redhat.com>2015-09-02 11:02:12 +0200
committerPeter Rajnoha <prajnoha@redhat.com>2016-02-19 14:40:23 +0100
commit3b8a061f616011b402d4c6c6a5cfd60d108e3a98 (patch)
tree9d5f1a8c459ab3a3c10375bb064589917f61722a
parent5557db0bfde02f881c527ed608f080e9224f2b2c (diff)
downloadlvm2-3b8a061f616011b402d4c6c6a5cfd60d108e3a98.tar.gz
conf: add metadata/former_entity_timeout configuration setting
-rw-r--r--lib/config/config_settings.h4
-rw-r--r--lib/config/defaults.h1
-rw-r--r--lib/metadata/metadata.c2
3 files changed, 6 insertions, 1 deletions
diff --git a/lib/config/config_settings.h b/lib/config/config_settings.h
index 37b0b2daf..9b253ff1d 100644
--- a/lib/config/config_settings.h
+++ b/lib/config/config_settings.h
@@ -1367,6 +1367,10 @@ cfg(metadata_record_former_entities_CFG, "record_former_entities", metadata_CFG_
"metadata for live entities. Currently, this feature is supported\n"
"for thin and thin snapshot LVs only.\n")
+cfg(metadata_former_entity_timeout_CFG, "former_entity_timeout", metadata_CFG_SECTION, CFG_DEFAULT_COMMENTED, CFG_TYPE_INT, DEFAULT_FORMER_ENTITY_TIMEOUT, vsn(2, 2, 143), NULL, 0, NULL,
+ "Timeout in seconds after which a record about individual former\n"
+ "entity is automatically destroyed. A value of 0 disables this feature.\n")
+
cfg(metadata_pvmetadatacopies_CFG, "pvmetadatacopies", metadata_CFG_SECTION, CFG_ADVANCED | CFG_DEFAULT_COMMENTED, CFG_TYPE_INT, DEFAULT_PVMETADATACOPIES, vsn(1, 0, 0), NULL, 0, NULL,
"Number of copies of metadata to store on each PV.\n"
"The --pvmetadatacopies option overrides this setting.\n"
diff --git a/lib/config/defaults.h b/lib/config/defaults.h
index 23ee757e7..9122fe644 100644
--- a/lib/config/defaults.h
+++ b/lib/config/defaults.h
@@ -128,6 +128,7 @@
#define DEFAULT_STRIPESIZE 64 /* KB */
#define DEFAULT_RECORD_FORMER_ENTITIES 0
+#define DEFAULT_FORMER_ENTITY_TIMEOUT 0
#define DEFAULT_PVMETADATAIGNORE 0
#define DEFAULT_PVMETADATASIZE 255
#define DEFAULT_PVMETADATACOPIES 1
diff --git a/lib/metadata/metadata.c b/lib/metadata/metadata.c
index 0f1ae21f1..f17614fa0 100644
--- a/lib/metadata/metadata.c
+++ b/lib/metadata/metadata.c
@@ -5941,7 +5941,7 @@ int is_lockd_type(const char *lock_type)
int vg_strip_outdated_former_lvs(struct volume_group *vg) {
struct glv_list *glvl, *tglvl;
time_t current_time = time(NULL);
- uint64_t threshold = 0;
+ uint64_t threshold = find_config_tree_int(vg->cmd, metadata_former_entity_timeout_CFG, NULL);
if (!threshold)
return 1;