# readahead - readahead # # Starts readahead start on startup stop on started rc RUNLEVEL=[016] console output script # do not exit on failed commands set +e . /etc/sysconfig/readahead . /etc/init.d/functions cmdline=$(cat /proc/cmdline) check_autorelabel() { if [ -f /.autorelabel ] || strstr "$cmdline" autorelabel; then # Check SELinux status selinuxfs="$(fstab_decode_str `LC_ALL=C awk '/ selinuxfs / { print $2 }' /proc/mounts`)" SELINUX_STATE= if [ -n "$selinuxfs" ] && [ "`cat /proc/self/attr/current`" != "kernel" ]; then if [ -r "$selinuxfs/enforce" ] ; then SELINUX_STATE=`cat "$selinuxfs/enforce"` else # assume enforcing if you can't read it SELINUX_STATE=1 fi fi if [ -n "$SELINUX_STATE" ]; then return 0 fi fi return 1 } [ -f /.autofsck ] && exit 0 [ -f /forcefsck ] && exit 0 [ "$READAHEAD" != "yes" ] && exit 0 [ -f /var/lib/readahead/early.sorted ] || exit 0 [ -f /.readahead_collect ] && exit 0 if [ "$READAHEAD_COLLECT_ON_RPM" = "yes" ]; then [ /var/lib/readahead/early.sorted -nt /var/lib/rpm/Packages ] || exit 0 fi # Check for enough memory read label val rest < /proc/meminfo [ "$rest" = "kB" -a $val -gt ${READAHEAD_MIN_MEM:-393216} ] || exit 0 check_autorelabel && exit 0 try=0 while [ $try -lt 10 ]; do if test -d /usr/sbin; then try=10 else try=$(($try+1)) sleep 1 fi done echo "<6>readahead: starting" > /dev/kmsg exec /sbin/readahead --dont-sort /var/lib/readahead/early.sorted end script