>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     [email protected]:/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:
_______________________________________________
[email protected] mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-bugs
To unsubscribe, send any mail to "[email protected]"

Reply via email to