diff options
author | Wes Peters <wes@FreeBSD.org> | 2004-04-06 18:26:43 +0000 |
---|---|---|
committer | Wes Peters <wes@FreeBSD.org> | 2004-04-06 18:26:43 +0000 |
commit | 6e46025ebf6a9aa3a273e6e454ac9524a23a880f (patch) | |
tree | 56d8aeff8043e04969757c391358f0c77e6e089d /etc | |
parent | e813a37f91c51ceef379c2a591c15875fdd74f26 (diff) | |
download | src-test2-6e46025ebf6a9aa3a273e6e454ac9524a23a880f.tar.gz src-test2-6e46025ebf6a9aa3a273e6e454ac9524a23a880f.zip |
Notes
Diffstat (limited to 'etc')
-rw-r--r-- | etc/rc.d/ramdisk | 13 | ||||
-rw-r--r-- | etc/rc.d/ramdisk-own | 59 |
2 files changed, 60 insertions, 12 deletions
diff --git a/etc/rc.d/ramdisk b/etc/rc.d/ramdisk index d7e2eab3eb03..473b401be4cf 100644 --- a/etc/rc.d/ramdisk +++ b/etc/rc.d/ramdisk @@ -42,26 +42,16 @@ ramdisk_start() { for unit in $ramdisk_units do - if [ -c /dev/md$unit ] ; then - echo "$0: md$unit exists, skipping" - continue - fi - eval mdoptions=\$ramdisk_${unit}_mdoptions + eval mdoptions=\$ramdisk_${unit}_config if [ "$mdoptions" = "${mdoptions##-t}" ] then echo "Type not specified for md$unit" continue fi eval fsoptions=\$ramdisk_${unit}_newfs - eval owner=\$ramdisk_${unit}_owner - eval perms=\$ramdisk_${unit}_perms - - echo Configuring ramdisk /dev/md$unit mdconfig -a $mdoptions -u $unit newfs $fsoptions /dev/md$unit - [ "X$owner" != "X" ] && chown $owner /dev/md$unit - [ "X$perms" != "X" ] && chmod $perms /dev/md$unit done } @@ -72,7 +62,6 @@ ramdisk_stop() if [ -c /dev/md$unit ] ; then umount -f /dev/md$unit > /dev/null 2>&1 mdconfig -d -u $unit - echo Recovered ramdisk /dev/md$unit fi done } diff --git a/etc/rc.d/ramdisk-own b/etc/rc.d/ramdisk-own new file mode 100644 index 000000000000..d80b860baeaf --- /dev/null +++ b/etc/rc.d/ramdisk-own @@ -0,0 +1,59 @@ +#!/bin/sh - +# +# Copyright (c) 2004 The FreeBSD Project +# All rights reserved. +# +# 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: ramdisk-own +# REQUIRE: ramdisk mountcritlocal +# BEFORE: SERVERS +# KEYWORD: FreeBSD + +. /etc/rc.subr + +name="ramdisk" +stop_cmd=":" +start_cmd="ramdisk_own_start" + +ramdisk_own_start() +{ +set -x + for unit in $ramdisk_units + do + device="/dev/md$unit" + dir=`mount | grep $device | cut -d' ' -f3` + + eval owner=\$ramdisk_${unit}_owner + eval perms=\$ramdisk_${unit}_perms + + [ "X$owner" != "X" ] && chown -f $owner $device $dir + [ "X$perms" != "X" ] && chmod -f $perms /dev/md$unit $dir + done +} + +load_rc_config $name +run_rc_command "$1" + |