From owner-svn-src-head@FreeBSD.ORG Mon Nov 17 15:52:49 2014 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 6E2D978E; Mon, 17 Nov 2014 15:52:49 +0000 (UTC) Received: from mho-01-ewr.mailhop.org (mho-03-ewr.mailhop.org [204.13.248.66]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 4107AC53; Mon, 17 Nov 2014 15:52:49 +0000 (UTC) Received: from [73.34.117.227] (helo=ilsoft.org) by mho-01-ewr.mailhop.org with esmtpsa (TLSv1:AES256-SHA:256) (Exim 4.72) (envelope-from ) id 1XqObf-0009u9-Mb; Mon, 17 Nov 2014 15:52:47 +0000 Received: from [172.22.42.240] (revolution.hippie.lan [172.22.42.240]) by ilsoft.org (8.14.9/8.14.9) with ESMTP id sAHFqkVx003845; Mon, 17 Nov 2014 08:52:46 -0700 (MST) (envelope-from ian@FreeBSD.org) X-Mail-Handler: Dyn Standard SMTP by Dyn X-Originating-IP: 73.34.117.227 X-Report-Abuse-To: abuse@dyndns.com (see http://www.dyndns.com/services/sendlabs/outbound_abuse.html for abuse reporting information) X-MHO-User: U2FsdGVkX1+Vkyz7MnFc5NsjbObVP4Xm X-Authentication-Warning: paranoia.hippie.lan: Host revolution.hippie.lan [172.22.42.240] claimed to be [172.22.42.240] Subject: Re: svn commit: r274630 - head/usr.sbin/freebsd-update From: Ian Lepore To: Mark Felder In-Reply-To: <201411171512.sAHFClg9011002@svn.freebsd.org> References: <201411171512.sAHFClg9011002@svn.freebsd.org> Content-Type: text/plain; charset="us-ascii" Date: Mon, 17 Nov 2014 08:52:46 -0700 Message-ID: <1416239566.1147.8.camel@revolution.hippie.lan> Mime-Version: 1.0 X-Mailer: Evolution 2.32.1 FreeBSD GNOME Team Port Content-Transfer-Encoding: 7bit Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 17 Nov 2014 15:52:49 -0000 On Mon, 2014-11-17 at 15:12 +0000, Mark Felder wrote: > Author: feld (ports committer) > Date: Mon Nov 17 15:12:46 2014 > New Revision: 274630 > URL: https://svnweb.freebsd.org/changeset/base/274630 > > Log: > 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 > > Modified: > head/usr.sbin/freebsd-update/freebsd-update.sh > > Modified: head/usr.sbin/freebsd-update/freebsd-update.sh > ============================================================================== > --- head/usr.sbin/freebsd-update/freebsd-update.sh Mon Nov 17 14:56:02 2014 (r274629) > +++ head/usr.sbin/freebsd-update/freebsd-update.sh Mon Nov 17 15:12:46 2014 (r274630) > @@ -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 > > This doesn't look quite right. There is no mdmfs filesystem, that's just the name of the tool that creates a UFS filesystem on an md(4) device. On one of my systems where /var is set up by /etc/rc.d/var and /tmp by an fstab entry of: "md /tmp mfs rw,noatime,-s128m 0 0" I see this from df: root@bb:~ # df -hT Filesystem Type Size Used Avail Capacity Mounted on 172.22.42.240:/bb nfs 504G 280G 184G 60% / devfs devfs 1.0K 1.0K 0B 100% /dev /dev/md0 ufs 124M 24K 114M 0% /tmp /dev/md1 ufs 31M 360K 28M 1% /var Something like this should work: case $(df -T ${WORKDIR}) in */dev/md[0-9]* | *tmpfs* ) echo error messages and stuff exit 1 ;; esac -- Ian