From 3174b9cb665b9a7b7ac8413a8e236cd236786632 Mon Sep 17 00:00:00 2001 From: Ian Kelling Date: Tue, 16 Apr 2019 16:23:22 -0400 Subject: [PATCH] fixes for initial fstab mtab dm devices --- check-subvol-stale | 3 ++- mount-latest-subvol | 9 ++++++++- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/check-subvol-stale b/check-subvol-stale index 0049ff0..cc032d4 100644 --- a/check-subvol-stale +++ b/check-subvol-stale @@ -82,6 +82,7 @@ for d; do vol=${d##*/} # second field, non-comment line == $d dev=$(sed -rn "s,^\s*([^#]\S*)\s+$d\s.*,\1,p" /etc/fstab /etc/mtab|head -n1) + d dev=$dev subvol_dir=$(sed -rn "s,^\s*[^#]\S*\s+$d\s.*\bsubvol=([a-zA-A/]+).*,\1,p" /etc/fstab /etc/mtab|head -n1) d subvol_dir=$subvol_dir @@ -89,7 +90,7 @@ for d; do # because the device in fstab for the rootfs can be different. for devx in $(btrfs fi show $dev| sed -rn 's#.*path (/\S+)$#\1#p'); do d devx=$devx - root_dir=$(sed -rn "s,^\s*$devx\s+(\S+).*\bsubvolid=[05]\b.*,\1,p" /etc/mtab|head -n1) + root_dir=$(sed -rn "s,^\s*$devx\s+(\S+).*\bsubvolid=[05]\b.*,\1,p" /etc/mtab /etc/fstab|head -n1) if [[ $root_dir ]]; then d root_dir=$root_dir break diff --git a/mount-latest-subvol b/mount-latest-subvol index 033d9b8..359b534 100644 --- a/mount-latest-subvol +++ b/mount-latest-subvol @@ -130,7 +130,14 @@ ret=0 ##### begin setup fstab for subvols we care about ###### root_dev=$(awk '$2 == "/" {print $1}' /etc/mtab) - +if [[ $root_dev == /dev/dm-* ]]; then + for d in /dev/mapper/*; do + if [[ $(readlink -f $d) == $root_dev ]]; then + root_dev=$d + break + fi + done +fi if cryptsetup status $root_dev &>/dev/null; then crypt_dev=$root_dev -- 2.30.2