From nobody Fri Jan 13 20:59:41 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Ntv1T3RWdz2pBkY; Fri, 13 Jan 2023 20:59:41 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Ntv1T2gbxz3tTn; Fri, 13 Jan 2023 20:59:41 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1673643581; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=JA1Tfou+w8fBm/bHO93yIOWQMgdJyf98EfyXa/CDtas=; b=uhYi8I2A/RSxlqVk5wWxcP8qC+fUSaHDFf8o48s4WP91g2Px5TBtjLpWdu8dapYhMv8nG3 1vC3fEDlPK5W+lMAuqzO13hH/7b4NhgyQKW5d2e97J2ymHGv0Z2p8voB6/zYkr/P/dGKVQ bEqlJJPi5Qx8E55Wn6u2LwhlrHbgJ1qr1jTSl8/QS0ugUlVxIpy/f0wFt17f28EvZMErKV 382U6/oWA8kyQEXarmmTKMt9LmRnIvCfQ/seI3YQM4WLw4vGR6NJdsWtJL8qsfa+VARMnR RBIyyTDr582k00A6EzXPHOVxwEB6YrAd+YsF7vZk6bpBWEFBXPd+6td0P64uzw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1673643581; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=JA1Tfou+w8fBm/bHO93yIOWQMgdJyf98EfyXa/CDtas=; b=NILgzGJEKDiSknuMqOqrsdbZEMuVS4fdXDL2xpJMUjap3sd6pa1qanMM9BVgsnZFsVHu0c C0t9QgO3DB+mjwyl2X8a/0jnyg2JGn9F4auvqtDkHDvIc6ozb7vO9T+IE78BdMfhzSRyWv 6u4no+jk3zgbJ+Li+VlyVObKM6pm/Ka5LF17DMhuZgde4MOwoRUaDNHe/TfXtLr/Un+H7A Q+okK+Z9x0ERNjTIDwkdDWqnymaptVSsVH/Mr40cZdsCViKmHAe2nRukaJ4Fj5dHJgYGlb cqEx/sdVNyQOk0RF919YXzb/VM7BwsHcbHe8eVsbITYUhj/6LGXYEvXFKUKOMA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1673643581; a=rsa-sha256; cv=none; b=l/JRrytwnAjfDjVE3l5tWK4WqFuTSG3BpNpbDrDX++x9zI6NKMbntlTSxGSS8qsPBLzYZD /vpimhjdCCXdTNjWPLRQrEgEfMEJmKjSTar7KaqIKmLOE88UJZMzGlbokuGMaeh9KIy7DP iq4ZOexz4o+fbjrI2HV3l1sv76cDUD2APNwwJKHAMKMI+8CVshUzEu+qx3RhS56Kuh4CN3 +YkuoIHj5Ofwe1BFGVatrPyO6y4T/fA9muge4kwqmsVI7xBjv2PwwHhvWVa2K1HqY7rGHG PzS+/f/QnyF6naaFTQul0sD+Fe7mGxbXwHfYuReTeWhSAuaBXF8gDHXlNgIdZg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Ntv1T1ZRkzMWp; Fri, 13 Jan 2023 20:59:41 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30DKxfUj097082; Fri, 13 Jan 2023 20:59:41 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30DKxfI3097081; Fri, 13 Jan 2023 20:59:41 GMT (envelope-from git) Date: Fri, 13 Jan 2023 20:59:41 GMT Message-Id: <202301132059.30DKxfI3097081@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Mike Karels Subject: git: 67fc403e3629 - stable/13 - growfs_fstab: add new /etc/rc.d script to add swap to fstab List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: karels X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 67fc403e362967a1601750899d9344c8f1e81923 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by karels: URL: https://cgit.FreeBSD.org/src/commit/?id=67fc403e362967a1601750899d9344c8f1e81923 commit 67fc403e362967a1601750899d9344c8f1e81923 Author: Mike Karels AuthorDate: 2022-12-10 19:39:59 +0000 Commit: Mike Karels CommitDate: 2023-01-13 19:15:02 +0000 growfs_fstab: add new /etc/rc.d script to add swap to fstab The growfs_fstab script is a helper for the growfs script to add any new swap partition to /etc/fstab on first boot. If growfs adds a swap partition, it sets growfs_swap_pdev in the kenv. In this case, after the root file system is read/write, if there is no swap partition in the fstab, growfs_fstab adds growfs_swap as a swap partition to the fstab. Also, it runs dumpon to add the swap partition (as this happened earlier in the startup sequence). Discussed with: cperciva Differential Revision: https://reviews.freebsd.org/D37463 (cherry picked from commit d670a8f7c596fd387823644c5cbf1ddee788eee4) --- libexec/rc/rc.d/growfs_fstab | 67 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 67 insertions(+) diff --git a/libexec/rc/rc.d/growfs_fstab b/libexec/rc/rc.d/growfs_fstab new file mode 100755 index 000000000000..8ad34f452ce0 --- /dev/null +++ b/libexec/rc/rc.d/growfs_fstab @@ -0,0 +1,67 @@ +#!/bin/sh +# +# Copyright 2022 Michael J. Karels +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND +# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +# SUCH DAMAGE. +# +# $FreeBSD$ +# + +# PROVIDE: growfs_fstab +# REQUIRE: growfs root +# KEYWORD: firstboot + +# If the growfs script added a swap partition, then add a swap entry +# to /etc/fstab if none exists, and add as dumpdev. + +. /etc/rc.subr + +name="growfs_fstab" +desc="Add new swap partition to /etc/fstab" +start_cmd="growfs_fstab_start" +stop_cmd=":" +rcvar="growfs_enable" + +growfs_fstab_start() +{ + if kenv -q growfs_swap_pdev >/dev/null + then + if awk ' + /^#/ { next } + $3 == "swap" { exit 1 } + ' < /etc/fstab + then + printf "/dev/label/growfs_swap\tnone\t\tswap\tsw\t\t0\t0\n" >>/etc/fstab + + case "$dumpdev" in + [Aa][Uu][Tt][Oo]) + dumpon $dumpon_flags /dev/label/growfs_swap + ;; + *) + ;; + esac + fi + fi +} + +load_rc_config $name +run_rc_command "$1"