Blame | Last modification | View Log | RSS feed
# readahead-collector - readahead-collector## Starts readahead-collectorstart on startupstop on started prefdm or stopped rc RUNLEVEL=[234] or runlevel [016]kill timeout 60script# do not exit on failed commandsset +e. /etc/sysconfig/readahead. /etc/init.d/functionscmdline=$(cat /proc/cmdline)check_autorelabel(){if [ -f /.autorelabel ] || strstr "$cmdline" autorelabel; then# Check SELinux statusselinuxfs="$(fstab_decode_str `LC_ALL=C awk '/ selinuxfs / { print $2 }' /proc/mounts`)"SELINUX_STATE=if [ -n "$selinuxfs" ] && [ "`cat /proc/self/attr/current`" != "kernel" ]; thenif [ -r "$selinuxfs/enforce" ] ; thenSELINUX_STATE=`cat "$selinuxfs/enforce"`else# assume enforcing if you can't read itSELINUX_STATE=1fifiif [ -n "$SELINUX_STATE" ]; thenreturn 0fifireturn 1}check_readonly(){READONLY=if [ -f /etc/sysconfig/readonly-root ]; then. /etc/sysconfig/readonly-rootfistrstr "$cmdline" readonlyroot && READONLY=yes[ "$READONLY" = "yes" ] && return 0return 1}[ -f /.autofsck ] && exit 0[ -f /forcefsck ] && exit 0[ "$READAHEAD_COLLECT" != "yes" ] && exit 0if [ ! -f /.readahead_collect ]; then[ "$READAHEAD_COLLECT_ON_RPM" != "yes" ] && exit 0[ -f /var/lib/readahead/early.sorted ] && \[ /var/lib/readahead/early.sorted -nt /var/lib/rpm/Packages ] && \exit 0fiif [ -z "$READAHEAD_DELAY_SERVICES" ]; then# do not delay services, so exit, if they will be startedfor service in auditd ; do/sbin/chkconfig --level $runlevel $service >/dev/null 2>&1 && exit 0doneficheck_readonly && exit 0check_autorelabel && exit 0> /dev/shm/readahead-collector-startedecho "<6>readahead-collector: starting" > /dev/kmsgexec /sbin/readahead-collector -fend scriptpre-stop scriptset +e# after prefdm is startup collect some more seconds. /etc/sysconfig/readaheadsleep ${READAHEAD_EXTRA_COLLECT:-10}exit 0end scriptpost-stop script# do not exit on failed commandsset +e. /etc/sysconfig/readahead[ -f /dev/shm/readahead-collector-started ] || exit 0rm -f /dev/shm/readahead-collector-startedrm -f /.readahead_collect# start delayed servicesrunlevel=$(/sbin/runlevel| (read a b; echo $b))for service in "$READAHEAD_DELAY_SERVICES" ; doif [ -f /var/lock/subsys/delay-$runlevel-$service ]; thenecho "<6>readahead-collector: starting delayed service $service" > /dev/kmsg/sbin/chkconfig --level $runlevel $service on/sbin/service $service startrm -f /var/lock/subsys/delay-$runlevel-$servicefidone# process listsecho "<6>readahead-collector: sorting" > /dev/kmsg/etc/cron.daily/readahead.cron 2>/dev/null 1>&2echo "<6>readahead-collector: finished" > /dev/kmsgexit 0end script