From 5e8c191c2eb46c4c19fe1449ac4fc022d1e019f6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gwenol=C3=A9=20Beauchesne?= Date: Wed, 9 Oct 2002 13:47:44 +0000 Subject: SYS_umount does not exist on modern kernels and architectures like x86-64 :) --- perl-install/fs.pm | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/perl-install/fs.pm b/perl-install/fs.pm index 7eaf61711..43cf25319 100644 --- a/perl-install/fs.pm +++ b/perl-install/fs.pm @@ -737,7 +737,12 @@ sub umount { my ($mntpoint) = @_; $mntpoint =~ s|/$||; log::l("calling umount($mntpoint)"); - syscall_('umount', $mntpoint) or die _("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 _("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