From 5f223771c836b26030717a1b2cab1ae760688dd5 Mon Sep 17 00:00:00 2001 From: Pascal Rigaux Date: Thu, 13 Sep 2007 08:04:56 +0000 Subject: - fix grub hanging if /boot on xfs (#33267) --- perl-install/bootloader.pm | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'perl-install/bootloader.pm') diff --git a/perl-install/bootloader.pm b/perl-install/bootloader.pm index 0976f1678..60e473e86 100644 --- a/perl-install/bootloader.pm +++ b/perl-install/bootloader.pm @@ -1642,6 +1642,17 @@ sub configure_kdm_BootManager { )) }; } +sub sync_partition_data_to_disk { + my ($part) = @_; + + common::sync(); + + if ($part->{fs_type} eq 'xfs') { + run_program::rooted($::prefix, 'xfs_freeze', '-f', $part->{mntpoint}); + run_program::rooted($::prefix, 'xfs_freeze', '-u', $part->{mntpoint}); + } +} + sub install_grub { my ($bootloader, $all_hds) = @_; @@ -1650,6 +1661,7 @@ sub install_grub { if (!$::testing) { my @files = grep { /(stage1|stage2|_stage1_5)$/ } glob("$::prefix/lib/grub/*/*"); cp_af(@files, "$::prefix/boot/grub"); + sync_partition_data_to_disk(fs::get::root([ fs::get::fstab($all_hds) ], 'boot')); install_raw_grub(); } -- cgit v1.2.1