CA-145540: Treat all exceptions as transient when opening VHD chain
CA-145540: Treat all exceptions as transient when opening VHD chain

The original retry loop was put in to handle End_of_file exceptions when
reading the VHD metadata during Vhd_IO.openchain. However, under some
circumstances (XenServer's SM fiddling with the VHD-tree during a coalesce),
the file may not be there at all. This yields the following untyped exception
from the ocaml-vhd library:

    Failure("Failed to find <VHD-file> ...")

As such, this patch now considers _all_ exceptions from openchain to be
transient and issues a retry. This should be OK since the call is just reading
metadata from the chain and shouldn't be too long-running or costly.

Signed-off-by: Si Beaumont <a0992b7f1f450b4c7716d34b81a2d6f0877ae11a@citrix.com>

thomassa/vhd-tool