#!/bin/sh -- # This value must be identical to the commit inverval for the filesystem FLUSH_INTERVAL=120000 # 20 minutes (measured in 0.01 seconds) DIRTY_RATIO=40 # (percent) AC_POWER=$(grep -c on-line /proc/acpi/ac_adapter/ADP1/state) SPINDOWN=$(cat /proc/sys/vm/laptop_mode) echo ac event power is $AC_POWER spindown was $SPINDOWN >/dev/tty8 if [ $AC_POWER = 0 ] then if [ $SPINDOWN = 0 ] then # spindown after 20 seconds /sbin/hdparm -S 4 /dev/hda echo 1 > /proc/sys/vm/laptop_mode echo "$FLUSH_INTERVAL" > /proc/sys/vm/dirty_writeback_centisecs echo "$FLUSH_INTERVAL" > /proc/sys/vm/dirty_expire_centisecs echo "$DIRTY_RATIO" > /proc/sys/vm/dirty_ratio echo "$DIRTY_RATIO" > /proc/sys/vm/dirty_background_ratio fi else if [ $SPINDOWN != 0 ] then # spinup /sbin/hdparm -S 0 /dev/hda # reset kernel defaults echo 0 > /proc/sys/vm/laptop_mode echo 500 > /proc/sys/vm/dirty_writeback_centisecs echo 3000 > /proc/sys/vm/dirty_expire_centisecs echo 40 > /proc/sys/vm/dirty_ratio echo 10 > /proc/sys/vm/dirty_background_ratio fi fi