[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [PATCH] pygrub: do not overload RuntimeError for "no menu.lst found"



On 10/20/2011 10:32 AM, Ian Campbell wrote:
>  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.

Are all the other RuntimeError's ok or should we be defining a bunch of
more specific exceptions?

get_solaris_slice triggers RuntimeErrors which are eaten by the caller. That's not too nice and could also be replaced by NotFoundError, but it does not hide as many possible errors as run_grub.

read_config triggers a RuntimeError if it cannot find the file image itself. It is called via run_grub (which calls the Grub constructor), so it will become a hard failure after this patch. This is intended; not finding the file image is very wrong.

Grub2ConfigFile triggers RuntimeErrors if it fails to parse the grub.cfg file (wrong menuentry nesting, missing braces, unexpected braces). This is also called via run_grub and will become a hard failure. The new behavior is better than looking for another boot partition, since the actual error is hidden and anyway it's very unlikely that there will be two boot partitions.

Other occurrences are only for the case of __name__ == "__main__", so they are unaffected by the patch.

We need a signed-off-by for this change, per DCO:
http://wiki.xen.org/xenwiki/SubmittingXenPatches

Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>

Shall I resend, or can you add it while applying?

Paolo

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.