summaryrefslogtreecommitdiffstats
path: root/usr.sbin
diff options
context:
space:
mode:
authorfeld <feld@FreeBSD.org>2014-11-17 15:12:46 +0000
committerfeld <feld@FreeBSD.org>2014-11-17 15:12:46 +0000
commit1706600a1384bf1d593c39f4ceb05a32274d86b3 (patch)
tree005c3fa53949edb7145904407ac7be7ad853927f /usr.sbin
parent2bdae054ab52274fa82b10a36bdf0f63d7310ae6 (diff)
downloadFreeBSD-src-1706600a1384bf1d593c39f4ceb05a32274d86b3.zip
FreeBSD-src-1706600a1384bf1d593c39f4ceb05a32274d86b3.tar.gz
Add logic for detecting non-persistent filesystems being utilized by
workdir which would break the upgrade process upon reboot. Currently we check for tmpfs and mdmfs. PR: 195006 Differential Revision: https://reviews.freebsd.org/D1163 Approved by: cperciva
Diffstat (limited to 'usr.sbin')
-rw-r--r--usr.sbin/freebsd-update/freebsd-update.sh9
1 files changed, 9 insertions, 0 deletions
diff --git a/usr.sbin/freebsd-update/freebsd-update.sh b/usr.sbin/freebsd-update/freebsd-update.sh
index ee702e3..a8ece5b 100644
--- a/usr.sbin/freebsd-update/freebsd-update.sh
+++ b/usr.sbin/freebsd-update/freebsd-update.sh
@@ -580,6 +580,7 @@ fetchupgrade_check_params () {
_KEYPRINT_z="Key must be given via -k option or configuration file."
_KEYPRINT_bad="Invalid key fingerprint: "
_WORKDIR_bad="Directory does not exist or is not writable: "
+ _WORKDIR_bad2="Directory is not on a persistent filesystem: "
if [ -z "${SERVERNAME}" ]; then
echo -n "`basename $0`: "
@@ -603,6 +604,14 @@ fetchupgrade_check_params () {
echo ${WORKDIR}
exit 1
fi
+ for i in tmpfs mdmfs; do
+ if df -t ${i} ${WORKDIR} >/dev/null 2>1; then
+ echo -n "`basename $0`: "
+ echo -n "${_WORKDIR_bad2}"
+ echo ${WORKDIR}
+ exit 1
+ fi
+ done
chmod 700 ${WORKDIR}
cd ${WORKDIR} || exit 1
OpenPOWER on IntegriCloud