install-grub.pl: Do stat() last to not hang on hanging network FS

This commit is contained in:
Niklas Hambüchen 2023-04-23 04:29:58 +00:00
parent 3c15feef77
commit b9ba9df3e8

View File

@ -136,7 +136,6 @@ sub GetFs {
chomp $fs;
my @fields = split / /, $fs;
my $mountPoint = $fields[4];
next unless -d $mountPoint;
my @mountOptions = split /,/, $fields[5];
# Skip the optional fields.
@ -155,6 +154,11 @@ sub GetFs {
# Is it better than our current match?
if (length($mountPoint) > length($bestFs->mount)) {
# -d performs a stat, which can hang forever on network file systems,
# so we only make this call last, when it's likely that this is the mount point we need.
next unless -d $mountPoint;
$bestFs = Fs->new(device => $device, type => $fsType, mount => $mountPoint);
}
}