From 1fcebf22a6541d0179251d850a98f657ca4482be Mon Sep 17 00:00:00 2001 From: Brian Elliott Date: Wed, 19 Jun 2013 19:31:26 +0000 Subject: xenapi: Improve cross-device linking error message. Catch invalid-cross device linking exceptions raise from os.rename and provide a more intelligible error message. Change-Id: I22b6a145141431b6d4e4cb0176881f0cf0dd609f --- plugins/xenserver/xenapi/etc/xapi.d/plugins/utils.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/plugins/xenserver/xenapi/etc/xapi.d/plugins/utils.py b/plugins/xenserver/xenapi/etc/xapi.d/plugins/utils.py index 95f01bba3..a15ace92a 100644 --- a/plugins/xenserver/xenapi/etc/xapi.d/plugins/utils.py +++ b/plugins/xenserver/xenapi/etc/xapi.d/plugins/utils.py @@ -46,7 +46,13 @@ def _link(src, dst): def _rename(src, dst): LOG.info("Renaming file '%s' -> '%s'" % (src, dst)) - os.rename(src, dst) + try: + os.rename(src, dst) + except OSError, e: + if e.errno == errno.EXDEV: + LOG.error("Invalid cross-device link. Perhaps %s and %s should " + "be symlinked on the same filesystem?" % (src, dst)) + raise def make_subprocess(cmdline, stdout=False, stderr=False, stdin=False, -- cgit