X-Git-Url: https://iankelling.org/git/?p=distro-setup;a=blobdiff_plain;f=mount-latest-subvol;h=688e4f1b6d512209c5d892e9add1fe5f1d901e8c;hp=7a179c4fd604480b50af48136d81990a25cef69b;hb=72c18f3a6a7f1ed0ca16af654a1f804ab96e1ff9;hpb=3c7dab4936f011bb91f42f7ccb1f8432b94ea040 diff --git a/mount-latest-subvol b/mount-latest-subvol index 7a179c4..688e4f1 100644 --- a/mount-latest-subvol +++ b/mount-latest-subvol @@ -21,7 +21,7 @@ source /usr/local/lib/err usage() { cat </dev/null; then crypt_dev=$root_dev else # if we are in a recovery boot, find the next best crypt device mopts=,noauto - do_o=false + # todo: I think I had an idea to not setup /o in this case, + # but never finished implementing it for dev in $(dmsetup ls --target crypt | awk '{print $1}'); do dev=/dev/mapper/$dev if awk '{print $1}' /etc/mtab | grep -Fx $dev &>/dev/null; then @@ -221,7 +223,7 @@ fi # dont tax the cpus of old laptops -if ((`nproc` > 2)); then +if (( $(nproc) > 2)); then mopts+=,compress=zstd fi @@ -235,7 +237,7 @@ shopt -s nullglob # ownership, and ssh doesn\'t allow any group writable parent # directories, so we are forced to use a directory structure similar # to home directories -f=(/mnt/root/btrbk/q.*); f=${f[0]} +fa=(/mnt/root/btrbk/q.*); f=${fa[0]} if [[ -e $f ]]; then fstab </dev/null; then + if ! awk '$3 == "btrfs" {print $2}' /etc/fstab | grep -xF $d &>/dev/null; then continue fi @@ -320,7 +324,7 @@ for vol in ${all_vols[@]}; do for b in ${binds[@]}; do if mountpoint -q $b; then bid=$(stat -c%d $b) - if [[ $did != $bid ]]; then + if [[ $did != "$bid" ]]; then umount-kill $b fi fi @@ -393,7 +397,6 @@ for vol in ${all_vols[@]}; do fi done if [[ $bsub ]]; then - tmp=$(mktemp) # in testing, same subvol is 136 bytes. allow some overhead. 32 happens sometimes under systemd. # $ errno 32 # EPIPE 32 Broken pipe @@ -415,7 +418,7 @@ for vol in ${all_vols[@]}; do # this goes backwards from oldest. leaf_new_limit_time is just in case # the order gets screwed up or something. for leaf in ${leaf_vols[@]}; do - leaf_time=$(date -d ${leaf#$vol.leaf.} +%s) + leaf_time=$(date -d ${leaf#"$vol".leaf.} +%s) if (( leaf_limit_time > leaf_time || ( leaf_new_limit_time > leaf_time && count > 15 ) )); then x btrfs sub del $leaf fi