summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--perl-install/partition_table.pm8
1 files changed, 8 insertions, 0 deletions
diff --git a/perl-install/partition_table.pm b/perl-install/partition_table.pm
index 0df607094..4bcfe70ea 100644
--- a/perl-install/partition_table.pm
+++ b/perl-install/partition_table.pm
@@ -541,7 +541,15 @@ sub write {
#- now sync disk and re-read the partition table
if ($hd->{needKernelReread}) {
common::sync();
+
+ my @magic_parts = grep { $_->{isMounted} && $_->{real_mntpoint} } get_normal_parts($hd);
+ foreach (@magic_parts) {
+ syscall_('umount', $_->{real_mntpoint}) or die _("error unmounting %s: %s", $_->{real_mntpoint}, "$!");
+ }
$hd->kernel_read;
+ foreach (@magic_parts) {
+ syscall_('mount', , $_->{real_mntpoint}, type2fs($_), c::MS_MGC_VAL()) or die _("mount failed: ") . "$!";
+ }
$hd->{needKernelReread} = 0;
}
}