if (/^LABEL=(.*)/) {
my $label = $1;
- 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.
return ();
} elsif (/^UUID=(.*)/) {
my $uuid = $1;
- foreach (sort keys %$fses) {
- if (exists $fses->{$_}->{uuid} &&
- $fses->{$_}->{uuid} eq $uuid) {
- return ($_, $fses->{$_});
- }
- }
- warn __x("unknown filesystem UUID {uuid}\n", uuid => $uuid);
+ my $dev;
+ eval {
+ $dev = $g->findfs_uuid ($uuid);
+ };
+ warn "unknown filesystem UUID=$uuid 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.
return ();
} else {
return ($_, $fses->{$_}) if exists $fses->{$_};
die(__"Can't find grub on guest") unless($g->exists('/boot/grub/menu.lst'));
# Look for the most specific mount point in mounts
- foreach my $path qw(/boot/grub /boot /) {
+ foreach my $path (qw(/boot/grub /boot /)) {
if(exists($mounts->{$path})) {
return "" if($path eq '/');
return $path;
my %modprobe_aliases;
- for my $pattern qw(/files/etc/conf.modules/alias
- /files/etc/modules.conf/alias
- /files/etc/modprobe.conf/alias
- /files/etc/modprobe.d/*/alias) {
+ for my $pattern (qw(/files/etc/conf.modules/alias
+ /files/etc/modules.conf/alias
+ /files/etc/modprobe.conf/alias
+ /files/etc/modprobe.d/*/alias)) {
for my $path ( $g->aug_match($pattern) ) {
$path =~ m{^/files(.*)/alias(?:\[\d*\])?$}
or die __x("{path} doesn't match augeas pattern",