#!/bin/bash restoreDir="/etc/restore" scriptPath="$(dirname "$(readlink -f "$0")")" source "${scriptPath}/functions.sh" hook_before() { local btrfsPartition btrfsPartition="$(findmnt -oSOURCE -rnv /)" if [[ ! -d "/.btrfs" ]]; then mkdir /.btrfs fi if ! mount | grep '\.btrfs' &>/dev/null; then mount "$btrfsPartition" -o subvolid=5 /.btrfs || exit 200 fi } hook_fail() { if mount | grep '\.btrfs' &>/dev/null; then umount /.btrfs || exit 200 fi } hook_after() { : } hook_final() { if mount | grep '\.btrfs' &>/dev/null; then umount /.btrfs || exit 200 fi } case "$1" in before) hook_before || exit $?;; after) hook_after || exit $?;; fail) hook_final || exit $?;; finally) hook_final || exit $?;; esac