diff options
author | Olivier Blin <oblin@mandriva.com> | 2008-03-20 15:39:46 +0000 |
---|---|---|
committer | Olivier Blin <oblin@mandriva.com> | 2008-03-20 15:39:46 +0000 |
commit | b8f12f7035e50b5a40403c5cec51b8a04bbcbb76 (patch) | |
tree | 157f967d229829365ae17abab17b3c27cd8c3c5d | |
parent | 692dc2234d899c0867d9da250f37817b07e74e43 (diff) | |
download | draklive-install-b8f12f7035e50b5a40403c5cec51b8a04bbcbb76.tar draklive-install-b8f12f7035e50b5a40403c5cec51b8a04bbcbb76.tar.gz draklive-install-b8f12f7035e50b5a40403c5cec51b8a04bbcbb76.tar.bz2 draklive-install-b8f12f7035e50b5a40403c5cec51b8a04bbcbb76.tar.xz draklive-install-b8f12f7035e50b5a40403c5cec51b8a04bbcbb76.zip |
go on unmounting when one umount fails (inline fs::mount::umount_all)
-rwxr-xr-x | draklive-install | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/draklive-install b/draklive-install index be4355e..099569c 100755 --- a/draklive-install +++ b/draklive-install @@ -100,7 +100,14 @@ sub umount_first_pass() { fs::get_info_from_fstab($all_hds); my $fstab = [ fs::get::fstab($all_hds) ]; fs::merge_info_from_mtab($fstab); - eval { fs::mount::umount_all($fstab) }; + + #- inlined from fs::mount::umount_all to go on when one umount fail + #- (maybe the sort function could be shared) + log::l("unmounting all filesystems"); + foreach (sort { $b->{mntpoint} cmp $a->{mntpoint} } + grep { $_->{mntpoint} && !$_->{real_mntpoint} } @$fstab) { + eval { fs::mount::umount_part($_) }; + } } sub init_hds { |