~upstart-devel/upstart/upstart-jobs

« back to all changes in this revision

Viewing changes to vivid/etc/init/readahead-collector.conf

  • Committer: Dimitri John Ledkov
  • Date: 2014-11-19 12:58:41 UTC
  • Revision ID: dimitri.j.ledkov@intel.com-20141119125841-98dr37roy8dvcv3b
auto update

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
# readahead-collector - readahead-collector
 
2
#
 
3
# Starts readahead-collector
 
4
 
 
5
start on startup
 
6
 
 
7
stop on started prefdm or stopped rc RUNLEVEL=[234] or runlevel [016]
 
8
 
 
9
kill timeout 60
 
10
 
 
11
script
 
12
        # do not exit on failed commands
 
13
        set +e
 
14
 
 
15
. /etc/sysconfig/readahead
 
16
. /etc/init.d/functions
 
17
cmdline=$(cat /proc/cmdline)
 
18
 
 
19
check_autorelabel()
 
20
{       
 
21
        if [ -f  /.autorelabel ] || strstr "$cmdline" autorelabel; then         
 
22
                # Check SELinux status
 
23
                selinuxfs="$(fstab_decode_str `LC_ALL=C awk '/ selinuxfs / { print $2 }' /proc/mounts`)"
 
24
                SELINUX_STATE=
 
25
                if [ -n "$selinuxfs" ] && [ "`cat /proc/self/attr/current`" != "kernel" ]; then
 
26
                    if [ -r "$selinuxfs/enforce" ] ; then
 
27
                        SELINUX_STATE=`cat "$selinuxfs/enforce"`
 
28
                    else
 
29
                        # assume enforcing if you can't read it
 
30
                        SELINUX_STATE=1
 
31
                    fi
 
32
                fi
 
33
        
 
34
                if [ -n "$SELINUX_STATE" ]; then
 
35
                        return 0
 
36
                fi
 
37
        fi
 
38
        return 1
 
39
}
 
40
 
 
41
check_readonly()
 
42
{
 
43
        READONLY=
 
44
        if [ -f /etc/sysconfig/readonly-root ]; then
 
45
            . /etc/sysconfig/readonly-root
 
46
        fi
 
47
        strstr "$cmdline" readonlyroot && READONLY=yes
 
48
 
 
49
        [ "$READONLY" = "yes" ] && return 0
 
50
        return 1
 
51
}
 
52
 
 
53
 
 
54
        [ -f /.autofsck ] && exit 0     
 
55
        [ -f /forcefsck ] && exit 0
 
56
 
 
57
        [ "$READAHEAD_COLLECT" != "yes" ] && exit 0
 
58
 
 
59
        if [ ! -f /.readahead_collect ]; then
 
60
                [ "$READAHEAD_COLLECT_ON_RPM" != "yes" ] && exit 0
 
61
                [ -f /var/lib/readahead/early.sorted ] && \    
 
62
                        [ /var/lib/readahead/early.sorted -nt /var/lib/rpm/Packages ] && \
 
63
                        exit 0
 
64
        fi
 
65
 
 
66
        if [ -z "$READAHEAD_DELAY_SERVICES" ]; then
 
67
            # do not delay services, so exit, if they will be started
 
68
            for service in auditd ; do
 
69
                /sbin/chkconfig --level $runlevel $service >/dev/null 2>&1 && exit 0
 
70
            done
 
71
        fi
 
72
 
 
73
        check_readonly && exit 0
 
74
        check_autorelabel && exit 0
 
75
        > /dev/shm/readahead-collector-started
 
76
        echo "<6>readahead-collector: starting" > /dev/kmsg
 
77
        exec /sbin/readahead-collector -f
 
78
end script
 
79
 
 
80
pre-stop script
 
81
        set +e
 
82
 
 
83
        # after prefdm is startup collect some more seconds
 
84
        . /etc/sysconfig/readahead
 
85
        sleep ${READAHEAD_EXTRA_COLLECT:-10}
 
86
        exit 0
 
87
end script
 
88
 
 
89
post-stop script
 
90
        # do not exit on failed commands
 
91
        set +e
 
92
 
 
93
        . /etc/sysconfig/readahead
 
94
        [ -f /dev/shm/readahead-collector-started ] || exit 0
 
95
        rm -f /dev/shm/readahead-collector-started
 
96
        rm -f /.readahead_collect
 
97
 
 
98
        # start delayed services
 
99
        runlevel=$(/sbin/runlevel| (read a b; echo $b))
 
100
        for service in "$READAHEAD_DELAY_SERVICES" ; do
 
101
                if [ -f /var/lock/subsys/delay-$runlevel-$service ]; then
 
102
                                echo "<6>readahead-collector: starting delayed service $service" > /dev/kmsg
 
103
                                /sbin/chkconfig --level $runlevel $service on 
 
104
                                /sbin/service $service start
 
105
                                rm -f /var/lock/subsys/delay-$runlevel-$service 
 
106
                fi
 
107
        done
 
108
        # process lists
 
109
        echo "<6>readahead-collector: sorting" > /dev/kmsg
 
110
        /etc/cron.daily/readahead.cron 2>/dev/null 1>&2
 
111
        echo "<6>readahead-collector: finished" > /dev/kmsg
 
112
        exit 0
 
113
end script