Don't unmount directories that don't exist.
This commit is contained in:
parent
06e0f98fd8
commit
5cec2bf3d9
@ -53,7 +53,7 @@ def get_datasets_to_backup(zfs_command, source_directories):
|
||||
)
|
||||
|
||||
|
||||
def get_all_datasets(zfs_command):
|
||||
def get_all_datasets(zfs_command):
|
||||
'''
|
||||
Given a ZFS command to run, return all ZFS datasets as a sequence of (dataset name, mount point)
|
||||
pairs.
|
||||
@ -163,7 +163,9 @@ def dump_data_sources(
|
||||
)
|
||||
|
||||
if not dry_run:
|
||||
mount_snapshot(hook_config.get('mount_command', 'mount'), full_snapshot_name, snapshot_mount_path)
|
||||
mount_snapshot(
|
||||
hook_config.get('mount_command', 'mount'), full_snapshot_name, snapshot_mount_path
|
||||
)
|
||||
|
||||
if mount_point in source_directories:
|
||||
source_directories.remove(mount_point)
|
||||
@ -201,6 +203,7 @@ def destroy_snapshot(zfs_command, full_snapshot_name):
|
||||
output_log_level=logging.DEBUG,
|
||||
)
|
||||
|
||||
|
||||
def get_all_snapshots(zfs_command):
|
||||
'''
|
||||
Given a ZFS command to run, return all ZFS snapshots as a sequence of full snapshot names of the
|
||||
@ -218,10 +221,7 @@ def get_all_snapshots(zfs_command):
|
||||
)
|
||||
)
|
||||
|
||||
return tuple(
|
||||
line.rstrip()
|
||||
for line in list_output.splitlines()
|
||||
)
|
||||
return tuple(line.rstrip() for line in list_output.splitlines())
|
||||
|
||||
|
||||
def remove_data_source_dumps(hook_config, config, log_prefix, borgmatic_runtime_directory, dry_run):
|
||||
@ -266,9 +266,14 @@ def remove_data_source_dumps(hook_config, config, log_prefix, borgmatic_runtime_
|
||||
# mounted is tough to do in a cross-platform way.
|
||||
shutil.rmtree(snapshots_directory, ignore_errors=True)
|
||||
|
||||
for (_, mount_point) in datasets:
|
||||
for _, mount_point in datasets:
|
||||
snapshot_mount_path = os.path.join(snapshots_directory, mount_point.lstrip(os.path.sep))
|
||||
logger.debug(f'{log_prefix}: Unmounting ZFS snapshot at {snapshot_mount_path}{dry_run_label}')
|
||||
if not os.path.isdir(snapshot_mount_path):
|
||||
continue
|
||||
|
||||
logger.debug(
|
||||
f'{log_prefix}: Unmounting ZFS snapshot at {snapshot_mount_path}{dry_run_label}'
|
||||
)
|
||||
|
||||
if not dry_run:
|
||||
unmount_snapshot(umount_command, snapshot_mount_path)
|
||||
|
Loading…
x
Reference in New Issue
Block a user