diff options
author | feld <feld@FreeBSD.org> | 2014-11-17 15:12:46 +0000 |
---|---|---|
committer | feld <feld@FreeBSD.org> | 2014-11-17 15:12:46 +0000 |
commit | 1706600a1384bf1d593c39f4ceb05a32274d86b3 (patch) | |
tree | 005c3fa53949edb7145904407ac7be7ad853927f /usr.sbin | |
parent | 2bdae054ab52274fa82b10a36bdf0f63d7310ae6 (diff) | |
download | FreeBSD-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.sh | 9 |
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 |