diff --git a/xtrabackup/backup_tools.py b/xtrabackup/backup_tools.py index bd708e0..77a5a30 100644 --- a/xtrabackup/backup_tools.py +++ b/xtrabackup/backup_tools.py @@ -29,7 +29,11 @@ def check_prerequisites(self, repository): raise def prepare_workdir(self, path): - filesystem_utils.mkdir_path(path, 0o755) + try: + filesystem_utils.mkdir_path(path, 0o755) + except exception.ProgramError: + self.logger.error('Workdir preparation failed.', exc_info=True) + raise self.workdir = path + '/xtrabackup_tmp' self.logger.debug("Temporary workdir: " + self.workdir) if self.compress: diff --git a/xtrabackup/filesystem_utils.py b/xtrabackup/filesystem_utils.py index 93860b9..e4f77b3 100644 --- a/xtrabackup/filesystem_utils.py +++ b/xtrabackup/filesystem_utils.py @@ -39,7 +39,7 @@ def mkdir_path(path, mode): if exc.errno == errno.EEXIST and os.path.isdir(path): pass else: - raise + raise ProgramError("Unable to create directory: " + path) def check_required_binaries(binaries):