From b2b6c3a83abcafd37eae00354c3cf14f0472869c Mon Sep 17 00:00:00 2001 From: Thierry Vignaud Date: Fri, 19 Apr 2013 17:17:13 +0000 Subject: fix losing crypt key when activating inactive partitions (mga#5661) --- perl-install/NEWS | 1 + perl-install/diskdrake/interactive.pm | 12 +++++++++++- perl-install/install/NEWS | 1 + 3 files changed, 13 insertions(+), 1 deletion(-) diff --git a/perl-install/NEWS b/perl-install/NEWS index efb0cbf15..dee5ce3c8 100644 --- a/perl-install/NEWS +++ b/perl-install/NEWS @@ -1,4 +1,5 @@ - diskdrake (mga#5661): + o fix loosing crypt key when detecting LVMs on top of dmcrypt o fix loosing crypt key when re-reading partition tables - drakauth: o 'nss-pam-ldapd' obsoletes 'pam_ldap' (mga#9769) diff --git a/perl-install/diskdrake/interactive.pm b/perl-install/diskdrake/interactive.pm index 8a4d9bb9c..b1d6809cc 100644 --- a/perl-install/diskdrake/interactive.pm +++ b/perl-install/diskdrake/interactive.pm @@ -954,8 +954,18 @@ sub dmcrypt_open { delete $part->{dmcrypt_key}; die(($? >> 8) == 255 ? N("Invalid key") : $@); } - # Detect LVMs on top of dmcrypt + detect_lvms_on_dmcrypt($all_hds); +} + +# Detect LVMs on top of dmcrypt +sub detect_lvms_on_dmcrypt { + my ($all_hds) = @_, + require File::Temp; + my (undef, $tmp_file) = File::Temp::mkstemp('/tmp/crypttab.XXXXXXX'); + fs::dmcrypt::save_crypttab_($all_hds, $tmp_file); $all_hds->{lvms} = [ fsedit::lvms($all_hds) ]; + fs::dmcrypt::read_crypttab_($all_hds, $tmp_file); + rm_rf($tmp_file); } sub Add2RAID { diff --git a/perl-install/install/NEWS b/perl-install/install/NEWS index 6c88c98d1..f729b6a68 100644 --- a/perl-install/install/NEWS +++ b/perl-install/install/NEWS @@ -1,6 +1,7 @@ - authentication: o 'nss-pam-ldapd' obsoletes 'pam_ldap' (mga#9769) - partionning (mga#5661): + o fix loosing crypt key when detecting LVMs on top of dmcrypt o fix loosing crypt key when re-reading partition tables Version 15.39 - 15 April 2013 -- cgit v1.2.1