iankelling.org
/
git
/
distro-setup
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
lots of updates, things working
[distro-setup]
/
mount-latest-subvol
diff --git
a/mount-latest-subvol
b/mount-latest-subvol
index e4c4d6b0a652b992f6feb7483cecd394bbf1040c..1b0a8e23123201182ac5eb0d7a99ca626f982652 100644
(file)
--- a/
mount-latest-subvol
+++ b/
mount-latest-subvol
@@
-73,17
+73,25
@@
mnt() {
e mount $dir
fi
}
e mount $dir
fi
}
+fstab() {
+ while read -r start mpoint end; do
+ l="$start $mpoint $end"
+ # kill off any lines that duplicate the mount point.
+ sed --follow-symlinks -ri "\%$l%b;\%^\s*\S+\s+$mpoint\s%d" /etc/fstab
+ tu /etc/fstab <<<"$l"
+ done
+}
ret=0
##### begin setup fstab for subvols we care about ######
first_root_crypt=$(awk '$2 == "/" {print $1}' /etc/mtab)
ret=0
##### begin setup fstab for subvols we care about ######
first_root_crypt=$(awk '$2 == "/" {print $1}' /etc/mtab)
-
tu /etc/
fstab <<EOF
+fstab <<EOF
$first_root_crypt /a btrfs noatime,subvol=a 0 0
EOF
case $HOSTNAME in
treetowl|x2|frodo)
$first_root_crypt /a btrfs noatime,subvol=a 0 0
EOF
case $HOSTNAME in
treetowl|x2|frodo)
-
tu /etc/
fstab <<EOF
+ fstab <<EOF
$first_root_crypt /q btrfs noatime,subvol=q 0 0
$first_root_crypt /o btrfs noatime,subvol=o 0 0
/q/p /p none bind 0 0
$first_root_crypt /q btrfs noatime,subvol=q 0 0
$first_root_crypt /o btrfs noatime,subvol=o 0 0
/q/p /p none bind 0 0
@@
-92,7
+100,7
@@
EOF
;;
esac
if [[ $HOSTNAME == frodo ]]; then
;;
esac
if [[ $HOSTNAME == frodo ]]; then
-
tu /etc/
fstab <<EOF
+ fstab <<EOF
$first_root_crypt /i btrfs noatime,subvol=i 0 0
EOF
fi
$first_root_crypt /i btrfs noatime,subvol=i 0 0
EOF
fi
@@
-148,7
+156,7
@@
for vol in q a o i; do
else
echo "$0: failed to umount $dir"
# lsof will fail if it finds no pids
else
echo "$0: failed to umount $dir"
# lsof will fail if it finds no pids
- if ! e lsof $dir; then
+ if ! e
timeout 4
lsof $dir; then
umount_ret=false
ret=1
continue
umount_ret=false
ret=1
continue