From owner-freebsd-bugs@FreeBSD.ORG Fri Mar 23 01:20:01 2012 Return-Path: Delivered-To: freebsd-bugs@hub.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id E47381065673 for ; Fri, 23 Mar 2012 01:20:01 +0000 (UTC) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2001:4f8:fff6::28]) by mx1.freebsd.org (Postfix) with ESMTP id B5D2A8FC14 for ; Fri, 23 Mar 2012 01:20:01 +0000 (UTC) Received: from freefall.freebsd.org (localhost [127.0.0.1]) by freefall.freebsd.org (8.14.5/8.14.5) with ESMTP id q2N1K1op077626 for ; Fri, 23 Mar 2012 01:20:01 GMT (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.14.5/8.14.5/Submit) id q2N1K1Mt077625; Fri, 23 Mar 2012 01:20:01 GMT (envelope-from gnats) Resent-Date: Fri, 23 Mar 2012 01:20:01 GMT Resent-Message-Id: <201203230120.q2N1K1Mt077625@freefall.freebsd.org> Resent-From: FreeBSD-gnats-submit@FreeBSD.org (GNATS Filer) Resent-To: freebsd-bugs@FreeBSD.org Resent-Reply-To: FreeBSD-gnats-submit@FreeBSD.org, Filip Valder Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 66F45106564A for ; Fri, 23 Mar 2012 01:10:22 +0000 (UTC) (envelope-from nobody@FreeBSD.org) Received: from red.freebsd.org (red.freebsd.org [IPv6:2001:4f8:fff6::22]) by mx1.freebsd.org (Postfix) with ESMTP id 475278FC19 for ; Fri, 23 Mar 2012 01:10:22 +0000 (UTC) Received: from red.freebsd.org (localhost [127.0.0.1]) by red.freebsd.org (8.14.4/8.14.4) with ESMTP id q2N1ALlU059127 for ; Fri, 23 Mar 2012 01:10:21 GMT (envelope-from nobody@red.freebsd.org) Received: (from nobody@localhost) by red.freebsd.org (8.14.4/8.14.4/Submit) id q2N1ALYl059126; Fri, 23 Mar 2012 01:10:21 GMT (envelope-from nobody) Message-Id: <201203230110.q2N1ALYl059126@red.freebsd.org> Date: Fri, 23 Mar 2012 01:10:21 GMT From: Filip Valder To: freebsd-gnats-submit@FreeBSD.org X-Send-Pr-Version: www-3.1 Cc: Subject: misc/166330: Thin server configuration revision request X-BeenThere: freebsd-bugs@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Bug reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 23 Mar 2012 01:20:02 -0000 >Number: 166330 >Category: misc >Synopsis: Thin server configuration revision request >Confidential: no >Severity: non-critical >Priority: low >Responsible: freebsd-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: change-request >Submitter-Id: current-users >Arrival-Date: Fri Mar 23 01:20:01 UTC 2012 >Closed-Date: >Last-Modified: >Originator: Filip Valder >Release: FreeBSD 8.2-RELEASE >Organization: ULICE.SvetDoma.cz >Environment: FreeBSD hlidac-ha-2.ulice 8.2-RELEASE FreeBSD 8.2-RELEASE #1: Sat Dec 3 23:35:47 CET 2011 root@hlidac-ha-2.ulice:/usr/obj/usr/src/sys/MYKERNEL i386 >Description: Please see the docs at http://www.valder.cz/freebsd/thin-server I need some feedback from others... Thanks in advance. If it works for you as it works for me, I would like to request patching official FreeBSD using my patch. Thanks. Bye, Filip >How-To-Repeat: >Fix: Patch attached with submission follows: diff -ruN 8.2-RELEASE/etc/rc 8.2-THINSERVER/etc/rc --- 8.2-RELEASE/etc/rc 2011-02-18 02:52:09.000000000 +0100 +++ 8.2-THINSERVER/etc/rc 2012-03-22 22:24:51.000000000 +0100 @@ -50,6 +50,11 @@ PATH=/sbin:/bin:/usr/sbin:/usr/bin export HOME PATH +# If an fstab named by my hostname exists, export it. +if [ -f "/etc/fstab.d/`kenv dhcp.host-name`" ]; then + export PATH_FSTAB=/etc/fstab.d/`kenv dhcp.host-name` +fi + if [ "$1" = autoboot ]; then autoboot=yes _boot="faststart" @@ -60,7 +65,10 @@ fi dlv=`/sbin/sysctl -n vfs.nfs.diskless_valid 2> /dev/null` -if [ ${dlv:=0} -ne 0 -o -f /etc/diskless ]; then +# New thinserver approach takes precedence over diskless. +if [ -f /etc/thinserver ]; then + skip="$skip -s nothinserver" +elif [ ${dlv:=0} -ne 0 -o -f /etc/diskless ]; then sh /etc/rc.initdiskless fi @@ -71,7 +79,12 @@ . /etc/rc.subr load_rc_config 'XXX' -skip="-s nostart" +# Try load_rc_config with my hostname. +if [ -n "`kenv dhcp.host-name`" ]; then + load_rc_config `kenv dhcp.host-name` +fi + +skip="$skip -s nostart" if [ `/sbin/sysctl -n security.jail.jailed` -eq 1 ]; then skip="$skip -s nojail" if [ "$early_late_divider" = "FILESYSTEMS" ]; then diff -ruN 8.2-RELEASE/etc/rc.d/bgfsck 8.2-THINSERVER/etc/rc.d/bgfsck --- 8.2-RELEASE/etc/rc.d/bgfsck 2011-02-18 02:52:09.000000000 +0100 +++ 8.2-THINSERVER/etc/rc.d/bgfsck 2012-03-22 20:04:07.000000000 +0100 @@ -5,7 +5,7 @@ # PROVIDE: bgfsck # REQUIRE: cron devfs syslogd -# KEYWORD: nojail +# KEYWORD: nojail nothinserver . /etc/rc.subr diff -ruN 8.2-RELEASE/etc/rc.d/dumpon 8.2-THINSERVER/etc/rc.d/dumpon --- 8.2-RELEASE/etc/rc.d/dumpon 2011-02-18 02:52:09.000000000 +0100 +++ 8.2-THINSERVER/etc/rc.d/dumpon 2012-03-22 20:03:31.000000000 +0100 @@ -5,7 +5,7 @@ # PROVIDE: dumpon # BEFORE: disks savecore initrandom -# KEYWORD: nojail +# KEYWORD: nojail nothinserver . /etc/rc.subr diff -ruN 8.2-RELEASE/etc/rc.d/encswap 8.2-THINSERVER/etc/rc.d/encswap --- 8.2-RELEASE/etc/rc.d/encswap 2011-02-18 02:52:09.000000000 +0100 +++ 8.2-THINSERVER/etc/rc.d/encswap 2012-03-22 22:24:42.000000000 +0100 @@ -5,7 +5,7 @@ # PROVIDE: disks # REQUIRE: initrandom -# KEYWORD: nojail +# KEYWORD: nojail nothinserver . /etc/rc.subr diff -ruN 8.2-RELEASE/etc/rc.d/fsck 8.2-THINSERVER/etc/rc.d/fsck --- 8.2-RELEASE/etc/rc.d/fsck 2011-02-18 02:52:09.000000000 +0100 +++ 8.2-THINSERVER/etc/rc.d/fsck 2012-03-22 20:03:56.000000000 +0100 @@ -5,7 +5,7 @@ # PROVIDE: fsck # REQUIRE: localswap -# KEYWORD: nojail +# KEYWORD: nojail nothinserver . /etc/rc.subr diff -ruN 8.2-RELEASE/etc/rc.d/geli 8.2-THINSERVER/etc/rc.d/geli --- 8.2-RELEASE/etc/rc.d/geli 2011-02-18 02:52:09.000000000 +0100 +++ 8.2-THINSERVER/etc/rc.d/geli 2012-03-22 22:24:21.000000000 +0100 @@ -29,7 +29,7 @@ # PROVIDE: disks # REQUIRE: initrandom -# KEYWORD: nojail +# KEYWORD: nojail nothinserver . /etc/rc.subr diff -ruN 8.2-RELEASE/etc/rc.d/geli2 8.2-THINSERVER/etc/rc.d/geli2 --- 8.2-RELEASE/etc/rc.d/geli2 2011-02-18 02:52:09.000000000 +0100 +++ 8.2-THINSERVER/etc/rc.d/geli2 2012-03-22 22:24:32.000000000 +0100 @@ -29,7 +29,7 @@ # PROVIDE: geli2 # REQUIRE: FILESYSTEMS -# KEYWORD: nojail +# KEYWORD: nojail nothinserver . /etc/rc.subr diff -ruN 8.2-RELEASE/etc/rc.d/mountcritlocal 8.2-THINSERVER/etc/rc.d/mountcritlocal --- 8.2-RELEASE/etc/rc.d/mountcritlocal 2011-02-18 02:52:09.000000000 +0100 +++ 8.2-THINSERVER/etc/rc.d/mountcritlocal 2012-03-22 20:46:18.000000000 +0100 @@ -27,11 +27,15 @@ ;; esac - # Mount everything except nfs filesystems. + # Mount everything except nfs filesystems when *NOT* using + # thinserver. check_startmsgs && echo -n 'Mounting local file systems:' mount_excludes='no' + [ -f /etc/thinserver ] && thinserver='yes' for i in ${netfs_types}; do fstype=${i%:*} + [ "$thinserver" = "yes" ] && [ "$fstype" = "nfs" ] && \ + continue mount_excludes="${mount_excludes}${fstype}," done mount_excludes=${mount_excludes%,} diff -ruN 8.2-RELEASE/etc/rc.d/mountcritremote 8.2-THINSERVER/etc/rc.d/mountcritremote --- 8.2-RELEASE/etc/rc.d/mountcritremote 2011-02-18 02:52:09.000000000 +0100 +++ 8.2-THINSERVER/etc/rc.d/mountcritremote 2012-03-22 20:06:49.000000000 +0100 @@ -5,7 +5,7 @@ # PROVIDE: mountcritremote # REQUIRE: NETWORKING FILESYSTEMS cleanvar ipsec -# KEYWORD: nojail +# KEYWORD: nojail nothinserver . /etc/rc.subr diff -ruN 8.2-RELEASE/etc/rc.d/savecore 8.2-THINSERVER/etc/rc.d/savecore --- 8.2-RELEASE/etc/rc.d/savecore 2011-02-18 02:52:09.000000000 +0100 +++ 8.2-THINSERVER/etc/rc.d/savecore 2012-03-22 20:03:43.000000000 +0100 @@ -6,7 +6,7 @@ # PROVIDE: savecore # REQUIRE: syslogd # BEFORE: SERVERS -# KEYWORD: nojail +# KEYWORD: nojail nothinserver . /etc/rc.subr >Release-Note: >Audit-Trail: >Unformatted: