lots of updates
[distro-setup] / mount-latest-subvol
index c43bb587e150ff5de248f7cce52f8f76d95c12ca..6bf68d703b7f90b3a2379ceeeca1335991afcfc6 100644 (file)
@@ -32,7 +32,7 @@ errcatch() {
     set -o pipefail
 }
 bash-trace() {
-    local -i argc_index=0 arg frame i start=${1:-1} max_indent=8 indent
+    local -i argc_index=0 frame i start=${1:-1} max_indent=8 indent
     local source
     local extdebug=false
     if [[ $(shopt -p extdebug) == *-s* ]]; then
@@ -120,15 +120,16 @@ for vol in q a o; do
 
     # if latest is already mounted, make sure binds are mounted and move on
     if e check-subvol-stale $d; then
+        mnt $d
         for b in ${binds[@]}; do
             mnt $b
         done
         continue
     fi
 
-    last_snap=$(</nocow/btrfs-stale/$vol)
-    if [[ ! $last_snap ]]; then
-        echo "$0: error. empty last_snap var"
+    fresh_snap=$(</nocow/btrfs-stale/$vol)
+    if [[ ! $fresh_snap ]]; then
+        echo "$0: error. empty fresh_snap var"
         ret=1
         continue
     fi
@@ -143,6 +144,7 @@ for vol in q a o; do
                 umount_ret=false
                 ret=1
                 echo "$0: failed to umount $dir"
+                e lsof $dir
                 break
             fi
         fi
@@ -155,14 +157,15 @@ for vol in q a o; do
         continue
     fi
 
+    # todo: decipher /mnt/root, like we do in check-subvol-stale
     cd /mnt/root
     if [[ -e $vol ]]; then
-        e btrfs sub del $vol
+        e mv $vol $vol.leaf.$(date +%Y%m%dT%H%M%S%z)
     fi
     # Note, we make a few assumptions in this script, like
     # $d was not a different subvol id than $vol, and
     # things otherwise didn't get mounted very strangely.
-    e btrfs sub snapshot btrbk/$last_snap $vol
+    e btrfs sub snapshot $fresh_snap $vol
     for dir in $d ${binds[@]}; do
         e mnt $dir
     done
@@ -170,7 +173,8 @@ for vol in q a o; do
     rm -f $stale_dir/$d
 done
 
-if [[ $HOSTNAME == treetowl ]]; then
+### disabled
+if [[ $HOSTNAME == treetowlxxxxxxxxx ]]; then
     # partitioned it with fai partitioner outside of fai,
     # because it\'s worth it to have 1% space reserved for boot and
     # swap partitions in case I ever want to boot off those drives.