diff options
author | Alasdair G Kergon <agk@redhat.com> | 2016-01-20 00:58:09 +0000 |
---|---|---|
committer | Alasdair G Kergon <agk@redhat.com> | 2016-01-20 00:58:09 +0000 |
commit | 509410bbbcc6fb72e985029e98c19315da36318a (patch) | |
tree | 30e8f0aa0d9e93e37a4cad6397d1c614f67695d9 | |
parent | 2304286f68debd4755b44fa8b779b762142bfada (diff) | |
download | lvm2-509410bbbcc6fb72e985029e98c19315da36318a.tar.gz |
clvmd: Initialise udev.
Since commit 2fc126b00d83991c6a2f3ed9aa61457294a4c45e, the library
code requires udev to be initialised for device scanning and
clvmd can fail to find VGs if devices/external_device_info_source
is set to "udev".
-rw-r--r-- | WHATS_NEW | 3 | ||||
-rw-r--r-- | daemons/clvmd/lvm-functions.c | 5 |
2 files changed, 7 insertions, 1 deletions
@@ -1,8 +1,9 @@ Version 2.02.141 - ==================================== + Initialise udev in clvmd for use in device scanning. (2.02.116) Add seg_le_ranges report field for common format when displaying seg devices. Honour report/list_item_separator for seg_metadata_le_ranges report field. - Don't mark hidden devs in -o devices,metadata_devices,seg_pe_ranges (2.02.140). + Don't mark hidden devs in -o devices,metadata_devices,seg_pe_ranges.(2.02.140) Change LV sizes in seg_pe_ranges report field to match underlying devices. Add kernel_cache_settings report field for cache LV settings used in kernel. diff --git a/daemons/clvmd/lvm-functions.c b/daemons/clvmd/lvm-functions.c index 03963cc87..2537c572d 100644 --- a/daemons/clvmd/lvm-functions.c +++ b/daemons/clvmd/lvm-functions.c @@ -901,8 +901,12 @@ int init_clvm(struct dm_hash_table *excl_uuid) if (!get_initial_state(excl_uuid)) log_error("Cannot load initial lock states."); + if (!udev_init_library_context()) + stack; + if (!(cmd = create_toolcontext(1, NULL, 0, 1, 1, 1))) { log_error("Failed to allocate command context"); + udev_fin_library_context(); return 0; } @@ -929,6 +933,7 @@ void destroy_lvm(void) if (cmd) { memlock_dec_daemon(cmd); destroy_toolcontext(cmd); + udev_fin_library_context(); cmd = NULL; } } |