- foreach (sort keys %$fses) {
- if (exists $fses->{$_}->{label} &&
- $fses->{$_}->{label} =~ /$label/i) {
- return ($_, $fses->{$_});
- }
- }
- warn __x("unknown filesystem label {label}\n", label => $label);
+ my $dev;
+ eval {
+ $dev = $g->findfs_label ($label);
+ };
+ warn "unknown filesystem LABEL=$label in /etc/fstab: $@\n" if $@;
+ return () if !defined $dev;
+ $dev = _canonical_dev ($dev);
+ return ($dev, $fses->{$dev}) if exists $fses->{$dev};
+ # Otherwise return nothing. It's just a filesystem that we are
+ # ignoring, eg. swap.