dsnap-sync: improve error handling in verify_snapper_structure()
- snapshot path needs to be a btrfs inode Signed-off-by: Ralf Zerres <ralf.zerres@networkx.de>
This commit is contained in:
@@ -2893,9 +2893,9 @@ verify_snapper_structure () {
|
||||
else
|
||||
cmd="$ssh chmod 0700 $backup_root"
|
||||
ret=$(eval $cmd)
|
||||
if [ $ret -eq 1 ]; then
|
||||
printf "${RED}Error: ${MAGENTA}Changing directory-mode for BTRFS subvolume (backup-root) ${GREEN}%s:%s${MAGENTA} failed.${NO_COLOR}\n" \
|
||||
"$remote_host" "$backup_root"
|
||||
if [ $? -ne 0 ]; then
|
||||
printf "${RED}Error: ${MAGENTA}Changing directory-mode for BTRFS subvolume (backup-root) ${GREEN}%s:%s${MAGENTA} failed. Return-Code: '%s'${NO_COLOR}\n" \
|
||||
"$remote_host" "$backup_root" "$ret"
|
||||
return 1
|
||||
fi
|
||||
fi
|
||||
@@ -2984,9 +2984,9 @@ verify_snapper_structure () {
|
||||
fi
|
||||
cmd="$ssh btrfs subvolume create $backup_root/$snapper_snapshots 2>/dev/null"
|
||||
ret=$(eval $cmd)
|
||||
if [ $? -ne 0 ] && [ $ret -ne 256 ]; then
|
||||
if [ $? -ne 0 ]]; then
|
||||
printf "${RED}Error: ${MAGENTA}Creation of snapper subvolume ${GREEN}%s${MAGENTA} failed${NO_COLOR}\n" \
|
||||
"$backup_root/$snapper_snapshots"
|
||||
"$backup_root/$snapper_snapshots"
|
||||
return 1
|
||||
fi
|
||||
else
|
||||
@@ -3016,7 +3016,6 @@ verify_snapper_structure () {
|
||||
printf "${MAGENTA}Create${NO_COLOR} path ${GREEN}'%s'${NO_COLOR} to store target snapshot.\n" \
|
||||
"$backup_root/$snapper_snapshots/$snapper_id"
|
||||
fi
|
||||
|
||||
ret=$(eval $ssh mkdir --mode=0700 \
|
||||
$backup_root/$snapper_snapshots/$snapper_id)
|
||||
if [ $? -ne 0 ]; then
|
||||
@@ -3027,16 +3026,15 @@ verify_snapper_structure () {
|
||||
else
|
||||
cmd="$ssh stat --format %i $backup_root/$snapper_snapshots/$snapper_id/$snapper_snapshot_name 2>/dev/null"
|
||||
ret=$(eval $cmd)
|
||||
if [ $? -eq 0 ] && [ $ret -eq 256 ]; then
|
||||
# a former btrfs snapshot already exists
|
||||
if [ $? -eq 0 ] && [ $ret -ne 256 ]; then
|
||||
# a snapshot path exists, but is not a btrfs snapshot
|
||||
if [ -z "$remote" ]; then
|
||||
printf "${RED}Cancel snapshot creation${NO_COLOR}: Former snapshot with id ${GREEN}'%s'${NO_COLOR} already exist in ${BLUE}'%s'${NO_COLOR}\n" \
|
||||
printf "${RED}Cancel snapshot creation${NO_COLOR}: Directory with id ${GREEN}'%s'${NO_COLOR} already exist in ${BLUE}'%s'${NO_COLOR}, but isn't a btrfs snapshot\n" \
|
||||
"$snapper_id" "$backup_root/$snapper_snapshots"
|
||||
else
|
||||
printf "${RED}Cancel snapshot creation${NO_COLOR}: Former snapshot with id ${GREEN}'%s'${NO_COLOR} already exists on ${BLUE}'%s'${NO_COLOR} in ${BLUE}'%s'${NO_COLOR}\n" \
|
||||
printf "${RED}Cancel snapshot creation${NO_COLOR}: Directory with id ${GREEN}'%s'${NO_COLOR} already exists on ${BLUE}'%s'${NO_COLOR} in ${BLUE}'%s'${NO_COLOR}, but isn't a btrfs snapshot\n" \
|
||||
"$snapper_id" "$remote" "$backup_root/$snapper_snapshots"
|
||||
fi
|
||||
|
||||
# cleanup generated snapper entry
|
||||
check_snapper_failed_ids $selected_config $batch
|
||||
return 1
|
||||
|
||||
Reference in New Issue
Block a user