Go to:
Gentoo Home
Documentation
Forums
Lists
Bugs
Planet
Store
Wiki
Get Gentoo!
Gentoo's Bugzilla – Attachment 55561 Details for
Bug 82075
Updated net-fs/openafs ebuild for 2.6 kernels
Home
|
New
–
[Ex]
|
Browse
|
Search
|
Privacy Policy
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
Init-script for both (2.4/2.6) kernels.
afs.rc.rc6 (text/plain), 5.65 KB, created by
Marko Durkovic
on 2005-04-07 07:41:25 UTC
(
hide
)
Description:
Init-script for both (2.4/2.6) kernels.
Filename:
MIME Type:
Creator:
Marko Durkovic
Created:
2005-04-07 07:41:25 UTC
Size:
5.65 KB
patch
obsolete
>#! /sbin/runscript >#RCUPDATE:34:77:This line is required for script management > ># Copyright 2000, International Business Machines Corporation and others. ># All Rights Reserved. ># ># This software has been released under the terms of the IBM Public ># License. For details, see the LICENSE file in the top-level source ># directory or online at http://www.openafs.org/dl/license10.html > ># AFS Start and stop AFS components ># ># ># chkconfig: 345 60 20 ># description: AFS is a distributed file system which provides location ># transparency, caching and secure authentication. ># Additional configuration can be done in the /etc/sysconfig/afs ># file. Read the documentation in that file for more information. ># ># Note that AFS does not use a pid file in /var/run. It is turned off by ># unmounting /afs. ># ># Modified by Holger Brueckner <darks@fet.org> for gentoo-linux > ># Gather up options and post startup script name, if present >if [ -f /etc/afs/afs.conf ]; then > . /etc/afs/afs.conf >fi > > ># dependecies >depend() { > need net >} > ># check for ext2 partition > >check_ext2() { > PART=`cat /proc/mounts | grep vice | grep ext2 | awk '{print $1}'` > if [ -z "$PART" ] > then > echo ">>> PLEASE CREATE A EXT2 (no reiserfs) PARTITION (of aprox. 200M)" > echo ">>> AND MOUNT IT TO /USR/VICE/CACHE !!!" > return 1 > fi >} > ># check if cacheinfo exist, otherwise create it !! > >check_cacheinfo(){ > [ ! -f /usr/vice/etc/cacheinfo ] && { > PART=`cat /proc/mounts | grep vice | grep ext2 | awk '{print $1}'` > CACHESIZE=`df $PART | grep ^/ | awk '{print $4}'` > CACHESIZE=`expr $CACHESIZE \* 9` > CACHESIZE=`expr $CACHESIZE / 10` > echo "/afs:/usr/vice/cache:$CACHESIZE" > /usr/vice/etc/cacheinfo > } >} > ># is_on returns 1 if value of arg is "on" >is_on() { > if test "$1" = "on" ; then return 0 > else return 1 > fi >} > ># returns 1 if 2.6 kernel >is_26_kernel() { > if test "$(uname -r | cut -d . -f2)" = "6"; then return 0 > else return 1 > fi >} > ># If choose_client can't correctly determine which client to use, set ># LIBAFS manually. >choose_client() { > > # Use the second field of the uname -v output instead of just > # doing a match on the whole thing to protect against matching > # a timezone named SMP -- I don't know of one, but let's be > # paranoid. > > set X `uname -v`; shift > case $2 in > SMP) MP=.mp ;; # MP system > *) MP= ;; # SP system > esac > > # For now, just use uname -r to get the module version. > VERSION=`uname -r` > > is_26_kernel && EXT=.ko || EXT=.o > LIBAFS=libafs-$VERSION$MP$EXT >} > ># ># Find prefix symbol to use with insmod. We find the unregister_filesystem ># string from /proc/ksyms since we know it's there. If /proc/ksyms does not ># exist, we print that info to the console and use the uname -v output to ># decide on a prefix. ># unregister_filesystem_Rsmp_b240cad8 is a typcial SMP version string from ># a kernel built from ftp.kernel.org ># > >is_26_kernel && KSYMS_FILE=/proc/kallsyms || KSYMS_FILE=/proc/ksyms >is_26_kernel && KSYMS_SHIFT="shift; shift " || KSYMS_SHIFT="shift" >is_26_kernel && INSMOD_ARGS="-f " || INSMOD_ARGS="-f -m " >SEARCH_STR="unregister_filesystem" >DEFAULT_SMP_PREFIX="smp_" # Redhat kernels need "smp" instead >PREFIX="" # none needed for UP with <= 1Gig memory > >set_prefix() >{ > h='[0-9a-fA-F]' > h8="$h$h$h$h$h$h$h$h" > prefix_set=0 > > set X `fgrep $SEARCH_STR $KSYMS_FILE 2> /dev/null`; eval "$KSYMS_SHIFT" > str=$2 > case $str in > ${SEARCH_STR}_R$h8) > # No prefix required > ;; > $SEARCH_STR) > # No versioning in kernel symbols > ;; > ${SEARCH_STR}_R*$h8) > suffix=${str#${SEARCH_STR}_R} > PREFIX=${suffix%$h8} > ;; > *) > case $str in > '') > echo afsd: Cannot find \"$SEARCH_STR\" in file $KSYMS_FILE > ;; > *) > echo afsd: Malformed kernel version symbol \"$str\" > ;; > esac > > echo Guessing prefix from output of uname -v > set X `uname -v`; shift > case $2 in > SMP) > PREFIX=$DEFAULT_SMP_PREFIX > ;; > esac > ;; > esac >} > > >MODLOADDIR=/usr/vice/etc/modload ># load_client loads the AFS client module if it's not already loaded. >load_client() { > # If LIBAFS is set, use it. > if [ -z "$LIBAFS" ] ; then > # Try to determine the right client. > choose_client > fi > > if [ ! -f $MODLOADDIR/$LIBAFS ] ; then > echo AFS module $MODLOADDIR/$LIBAFS does not exist. Not starting AFS. > return 1 > fi > > # use the prefix command if required > set_prefix > /sbin/insmod ${PREFIX:+-P $PREFIX} $INSMOD_ARGS $MODLOADDIR/$LIBAFS > $MODLOADDIR/libafs.map 2>&1 >} > >start(){ > # Load kernel extensions > > if check_ext2 ; then : > else > eend 1 "Error: No ext2 partition for afs cache" > fi > check_cacheinfo > > ebegin "Starting AFS services" > > if load_client ; then : > else > echo Failed to load AFS client, not starting AFS services. > eend "Error Starting AFS client" > fi > > # Start bosserver, it if exists > if is_on $AFS_SERVER && test -x /usr/afs/bin/bosserver ; then > /usr/afs/bin/bosserver > fi > > # Start AFS client > if is_on $AFS_CLIENT && test -x /usr/sbin/afsd ; then > /usr/sbin/afsd ${OPTIONS} 1>&2 > STATUS=$? > # Start AFS version of inetd.conf if present. > #if test -f /usr/afsws/etc/inetd.conf -a -x /usr/afsws/etc/inetd.afs ; then > # /usr/afsws/etc/inetd.afs /usr/afsws/etc/inetd.conf > #fi > $AFS_POST_INIT > fi > eend $STATUS "Error starting AFS" > >} > >stop() { > # Stop AFS > ebegin "Stopping AFS services" > > if is_on $AFS_CLIENT ; then ># killall inetd.afs > umount /afs > STATUS=$? > fi > > if is_on $AFS_SERVER && test -x /usr/afs/bin/bos ; then > echo "Stopping AFS bosserver" > /usr/afs/bin/bos shutdown localhost -localauth -wait > killall -HUP bosserver > fi > > LIBAFS=`/sbin/lsmod | fgrep libafs` > if [ -n "$LIBAFS" ] ; then > LIBAFS=`echo $LIBAFS | awk 'BEGIN { FS = " " } { print $1 }'` > /sbin/rmmod $LIBAFS > STATUS=$? > fi > eend $STATUS "Error stopping AFS" > >} >
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Raw
Actions:
View
Attachments on
bug 82075
:
51256
|
52791
|
55560
| 55561 |
57711
|
60772
|
63438