[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH] pygrub: do not overload RuntimeError for "no menu.lst found"
From: pbonzini@xxxxxxxxxx # HG changeset patch # User Paolo Bonzini <pbonzini@xxxxxxxxxx> # Date 1319096986 -7200 # Node ID bd1f7361d3d7f4c767af21317fb4ec7ea1372f42 # Parent 1b110e895e285f43f14532e14c77597e54a0bcd2 pygrub will still try the next partition if run_grub exits with a "real" error, thus hiding the root cause from the trace. Defining a separate exception for "no bootloader config file found" avoids this. diff --git a/tools/pygrub/src/pygrub b/tools/pygrub/src/pygrub --- a/tools/pygrub/src/pygrub +++ b/tools/pygrub/src/pygrub @@ -29,6 +29,9 @@ import grub.ExtLinuxConf PYGRUB_VER = 0.6 +class NotFoundError(RuntimeError): + pass + def enable_cursor(ison): if ison: val = 2 @@ -412,7 +412,7 @@ class Grub: self.cf.filename = f break if self.__dict__.get('cf', None) is None: - raise RuntimeError, "couldn't find bootloader config file in the image provided." + raise NotFoundError, "couldn't find bootloader config file in the image provided." f = fs.open_file(self.cf.filename) buf = f.read() del f @@ -763,9 +766,9 @@ if __name__ == "__main__": break fs = None - except: + except (IOError, NotFoundError): # IOErrors raised by fsimage.open - # RuntimeErrors raised by run_grub if no menu.lst present + # NotFoundError raised by run_grub if no menu.lst present fs = None continue _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |