From 3f4b655d1c93a0760d6b11a781f8accc58518077 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jakobus=20Sch=C3=BCrz?= Date: Sat, 19 Dec 2020 22:39:31 +0100 Subject: [PATCH] add btrfs-functions --- functions.sh | 25 ++++++++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) diff --git a/functions.sh b/functions.sh index 2c9f55c..f2eecd9 100755 --- a/functions.sh +++ b/functions.sh @@ -948,7 +948,30 @@ get_crtime() { is_btrfs_subvolume() { - btrfs subvolume show "$1" >/dev/null 2>&1 + sudo btrfs subvolume show "$1" >/dev/null } +convert_to_subvolume () { + local XSUDO + local DIR + case $1 in + --sudo|-s) + XSUDO=sudo + shift + ;; + esac + DIR="${1}" + [ -d "${DIR}" ] || return 1 + is_btrfs_subvolume "${DIR}" && return 0 + set -x + #btrfs subvolume create "${DIR}".new && \ + ${XSUDO:+sudo} btrfs subvolume create "${DIR}.new" && \ + /bin/cp -Tr --reflink=always "${DIR}" "${DIR}".new && \ + mv "${DIR}" "${DIR}".orig && \ + mv "${DIR}".new "${DIR}" || return 2 + + set +x + return 0 + +} #EOF