View | Details | Raw Unified | Return to bug 147584
Collapse All | Expand All

(-)set_disk_settings (-15 / +29 lines)
Lines 33-38 Link Here
33
# but there maybe added more in future.
33
# but there maybe added more in future.
34
# 
34
# 
35
35
36
# where do we store if _we_ remounted a device?
37
STORE="/var/run/powersaved.remount"
38
36
# The script might take following parameters:
39
# The script might take following parameters:
37
# 
40
# 
38
# 1) The powersave daemon event that caused the script to be invoked 
41
# 1) The powersave daemon event that caused the script to be invoked 
Lines 102-108 Link Here
102
# proper commit=XXX settings if necessary
105
# proper commit=XXX settings if necessary
103
do_remounts() {
106
do_remounts() {
104
107
105
    local DEV MP FST OPTS DUMP PASS REMOUNT
108
    local DEV MP FST OPTS OLDOPTS DUMP PASS REMOUNT LINE
106
109
107
    REMOUNT=$1
110
    REMOUNT=$1
108
111
Lines 110-137 Link Here
110
113
111
    case $REMOUNT in
114
    case $REMOUNT in
112
        yes)
115
        yes)
116
            rm -f $STORE    # better safe than sorry.
113
            while read DEV MP FST OPTS DUMP PASS ; do
117
            while read DEV MP FST OPTS DUMP PASS ; do
118
                OLDOPTS=$OPTS
114
                OPTS=${OPTS//commit=[0-9]*/}
119
                OPTS=${OPTS//commit=[0-9]*/}
115
                OPTS=${OPTS//,,/,}
120
                OPTS=${OPTS//,,/,}
116
                case "$FST" in
121
                case "$FST" in
117
                    "ext3")     mount $DEV -t $FST $MP -o remount,$OPTS,commit=$HD_MAX_AGE ;;
122
                    "ext3")
118
                    "reiserfs") [ "$HD_NOATIME" = "yes" ] && OPTS="$OPTS,noatime"
123
                        DEBUG "mount $DEV -t $FST $MP -o remount,$OPTS,commit=$HD_MAX_AGE" DIAG
119
                                mount $DEV -t $FST $MP -o remount,$OPTS,commit=$HD_MAX_AGE ;;
124
                        mount $DEV -t $FST $MP -o remount,$OPTS,commit=$HD_MAX_AGE
120
                    "xfs")      mount $DEV -t $FST $MP -o remount,$OPTS ;;
125
                        echo "$DEV -t $FST $MP -o remount,$OLDOPTS" >> $STORE
126
                        ;;
127
                    "reiserfs")
128
                        [ "$HD_NOATIME" = "yes" ] && OPTS="$OPTS,noatime"
129
                        DEBUG "mount $DEV -t $FST $MP -o remount,$OPTS,commit=$HD_MAX_AGE" DIAG
130
                        mount $DEV -t $FST $MP -o remount,$OPTS,commit=$HD_MAX_AGE
131
                        echo "$DEV -t $FST $MP -o remount,$OLDOPTS" >> $STORE
132
                        ;;
133
                    "xfs")
134
                        DEBUG "mount $DEV -t $FST $MP -o remount,$OPTS" DIAG
135
                        mount $DEV -t $FST $MP -o remount,$OPTS
136
                        echo "$DEV -t $FST $MP -o remount,$OLDOPTS" >> $STORE
137
                        ;;
121
                esac
138
                esac
122
            done < /etc/mtab
139
            done < /etc/mtab
123
            ;;
140
            ;;
124
        no)
141
        no)
125
            while read DEV MP FST OPTS DUMP PASS ; do
142
            if [ -f $STORE ]; then
126
                OPTS=${OPTS//commit=[0-9]*/}
143
                while read LINE; do
127
                OPTS=${OPTS//,,/,}
144
                    DEBUG "remounting with original options: 'mount $LINE'" DIAG
128
                case "$FST" in
145
                    mount $LINE
129
                    "ext3")     mount $DEV -t $FST $MP -o remount,$OPTS ;;
146
                done < $STORE
130
                    "reiserfs") [ "$HD_NOATIME" = "yes" ] && OPTS="${OPTS//noatime/}"
147
                rm $STORE
131
                                mount $DEV -t $FST $MP -o remount,$OPTS ;;
148
            fi
132
                    "xfs")      mount $DEV -t $FST $MP -o remount,$OPTS ;;
133
                esac
134
            done < /etc/mtab
135
            ;;
149
            ;;
136
        *)  DEBUG "invalid function call: do_remounts '$REMOUNT'" ERROR
150
        *)  DEBUG "invalid function call: do_remounts '$REMOUNT'" ERROR
137
            return 1
151
            return 1

Return to bug 147584