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)
-tu /etc/fstab <<EOF
+fstab <<EOF
$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
;;
esac
if [[ $HOSTNAME == frodo ]]; then
- tu /etc/fstab <<EOF
+ fstab <<EOF
$first_root_crypt /i btrfs noatime,subvol=i 0 0
EOF
fi
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