Don't die during inspection if initrd doesn't exist
authorMatthew Booth <mbooth@redhat.com>
Wed, 21 Apr 2010 14:39:48 +0000 (15:39 +0100)
committerRichard Jones <rjones@redhat.com>
Thu, 22 Apr 2010 07:20:25 +0000 (08:20 +0100)
This fixes a problem where inspection would die if grub.conf referenced a
non-existent initrd. Just return an empty initrd instead.
(cherry picked from commit 2b43970c8c97f24b1f45c040c6963d30661fa514)

perl/lib/Sys/Guestfs/Lib.pm

index 5428b10..b5b3906 100644 (file)
@@ -1825,7 +1825,7 @@ sub _inspect_initrd
     # Disregard old-style compressed ext2 files and only work with real
     # compressed cpio files, since cpio takes ages to (fail to) process anything
     # else.
-    if ($g->file ($path) =~ /cpio/) {
+    if ($g->exists($path) && $g->file($path) =~ /cpio/) {
         eval {
             @modules = $g->initrd_list ($path);
         };