diff options
author | Martin Whitaker <mageia@martin-whitaker.me.uk> | 2017-02-04 17:11:10 +0000 |
---|---|---|
committer | Martin Whitaker <mageia@martin-whitaker.me.uk> | 2017-02-25 11:39:56 +0000 |
commit | 3643baad41e7237b9d6acbe524220cde85961772 (patch) | |
tree | f9efedd24ea502c5fab637916848d00178786138 /perl-install/partition_table.pm | |
parent | 7f8ba6effceeec774d6da321832cf618ea222daf (diff) | |
download | drakx-3643baad41e7237b9d6acbe524220cde85961772.tar drakx-3643baad41e7237b9d6acbe524220cde85961772.tar.gz drakx-3643baad41e7237b9d6acbe524220cde85961772.tar.bz2 drakx-3643baad41e7237b9d6acbe524220cde85961772.tar.xz drakx-3643baad41e7237b9d6acbe524220cde85961772.zip |
Fix erratic behaviour when telling kernel to delete partitions (mga#20074).
When telling the kernel about changes to a DOS partition table, if a
partition was deleted on a disk that also contained an Empty partition,
the kernel also removed the Empty partition from its cached partition
table (and renumbered the other partitions).
Experimentation showed that leaving the udev exec queue active whilst we
were telling the kernel about the changes fixed this problem, although I
don't have an explanation for why it does.
Diffstat (limited to 'perl-install/partition_table.pm')
-rw-r--r-- | perl-install/partition_table.pm | 4 |
1 files changed, 0 insertions, 4 deletions
diff --git a/perl-install/partition_table.pm b/perl-install/partition_table.pm index 955a71a3f..2a226b7f7 100644 --- a/perl-install/partition_table.pm +++ b/perl-install/partition_table.pm @@ -425,8 +425,6 @@ sub tell_kernel { my $F = partition_table::raw::openit($hd); - run_program::run('udevadm', 'control', '--stop-exec-queue'); - my $force_reboot = any { $_->[0] eq 'force_reboot' } @$tell_kernel; if (!$force_reboot) { foreach (@$tell_kernel) { @@ -441,8 +439,6 @@ sub tell_kernel { } } - run_program::run('udevadm', 'control', '--start-exec-queue'); - if ($force_reboot) { # FIXME Handle LVM/dmcrypt/RAID my @magic_parts = grep { $_->{isMounted} && $_->{real_mntpoint} } get_normal_parts($hd); |