From 334e1b3b709e3585f6774b6cb46f2e4c32202c1e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gwenol=C3=A9=20Beauchesne?= Date: Tue, 19 Aug 2003 16:17:51 +0000 Subject: Handle EFI partitions. umount syscall does not exist on AMD64, use umount2 --- perl-install/fs.pm | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) (limited to 'perl-install') diff --git a/perl-install/fs.pm b/perl-install/fs.pm index d78199d5e..717bbc518 100644 --- a/perl-install/fs.pm +++ b/perl-install/fs.pm @@ -608,7 +608,7 @@ sub real_format_part { format_jfs($dev, @options); } elsif (isDos($part)) { format_dos($dev, @options); - } elsif (isWin($part)) { + } elsif (isWin($part) || isEfi($part)) { format_dos($dev, @options, '-F', 32); } elsif (isThisFs('hfs', $part)) { format_hfs($dev, @options, '-l', "Untitled"); @@ -760,7 +760,12 @@ sub umount { my ($mntpoint) = @_; $mntpoint =~ s|/$||; log::l("calling umount($mntpoint)"); - syscall_('umount', $mntpoint) or die \N("error unmounting %s: %s", $mntpoint, $!); + + # SYS_umount is not a valid sycall on modern kernels + (arch() =~ /x86_64/ + ? syscall_('umount2', $mntpoint, 0) + : syscall_('umount', $mntpoint) + ) or die \N("error unmounting %s: %s", $mntpoint, $!); substInFile { $_ = '' if /(^|\s)$mntpoint\s/ } '/etc/mtab'; #- don't care about error, if we can't read, we won't manage to write... (and mess mtab) } -- cgit v1.2.1