Re: bdflush can't work with ext3

2004-02-23 Thread Micha Feigin
On Sun, Feb 22, 2004 at 10:48:40PM +0530, Deboo wrote:
 I have converted my partitions to ext3 but I learnt the other day while
 trying to use bdflush to make the hdd spin down, that it won't work with
 ext3 partitions ecause ext3 partitions wrrite to disk every 5 seconds, the
 journal get written I mean. Is there no way to make the hdd spin down with
 ext3? If no, then is reiser or any other kind of journalled FS work with
 bdflush? Or is there any other bdflush type utility to do this?
 

I am guessing you are using laptop mode because otherwise the kernel
flushes its buffers every 30 seconds anyway.
Is it a custom kernel or a debian one. If its a debian one, for the
moment you will need the script from 2.6 which uses the commit mount
option with a small change (it doesn't reset the value).
If its a custom kernel I can send you a patch (I am currently working
on a fix, but its in a testing phase now and it will probably be some
time before it hits the standard kernels.)
I attached a modified laptop-mode script you can use for now.
Just note that although it has options for xfs and reiserfs they won't
work for the moment as they require a patch to add the needed support
(reiserfs doesn't have the support at all at the moment and xfs is
limited to 5 minutes).

 Regards,
 Deboo
 
 
 -- 
 To UNSUBSCRIBE, email to [EMAIL PROTECTED] 
 with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
 
  
  +++
  This Mail Was Scanned By Mail-seCure System
  at the Tel-Aviv University CC.
 
#!/bin/sh

# start or stop laptop_mode, best run by a power management daemon when
# ac gets connected/disconnected from a laptop
#
# install as /sbin/laptop_mode
#
# Contributors to this script:  Kiko Piris
#   Bart Samwel
#   Dax Kelson
# Original Linux 2.4 version by: Jens Axboe

parse_mount_opts () {
OPT=$1
shift
echo $*   | \
sed 's/.*/,,/' | \
sed 's/,'$OPT'=[0-9]*,/,/g'   | \
sed 's/,,*/,/g' | \
sed 's/^,//'| \
sed 's/,$//'| \
cat -
}

parse_mount_opts_wfstab () {
L_DEV=$1
shift
OPT=$1
shift
L_OPTS=$*

PARSEDOPTS1=$(parse_mount_opts $OPT $L_OPTS)
# Watch for a default commit/transaction in fstab
FSTAB_OPTS=$(cat /etc/fstab | sed 's/  / /g' | grep ^\ *$L_DEV  | awk '{ 
print $4 }')
if [ -z $(echo $FSTAB_OPTS | grep $OPT=) ] ; then
# no commit/transaction option specified in fstab: set it to 0
echo $PARSEDOPTS1,$OPT=30
else
# commit/transaction option specified in fstab: extract the value, and 
use it
echo -n $PARSEDOPTS1,$OPT=
echo $FSTAB_OPTS  | \
sed 's/.*/,,/' | \
sed 's/.*,'$OPT'=//'  | \
sed 's/,.*//'   | \
cat -
fi
}

KLEVEL=$(uname -r | cut -c1-3)
case $KLEVEL in
2.4|2.6)
true
;;
*)
echo Unhandled kernel version: $KLEVEL ('uname -r' = '$(uname -r)')
exit 1
;;
esac

# Shall we remount journaled fs. with appropiate commit/transaction interval? (1=yes)
DO_REMOUNTS=1

# age time, in seconds. should be put into a sysconfig file
MAX_AGE=600

# Allowed dirty ratio, in pct. should be put into a sysconfig file as well.
DIRTY_RATIO=40

# kernel default dirty buffer age
DEF_AGE=30
DEF_UPDATE=5
DEF_DIRTY_BACKGROUND_RATIO=10
DEF_DIRTY_RATIO=40

# This is temporary: we have to read this from the kernel somewhere.
HZ=100

# hdparm spindown settings
ACAD_HD=0
BATT_HD=4

if [ ! -e /proc/sys/vm/laptop_mode ]; then
echo Kernel is not patched with laptop_mode patch.
exit 1
fi

if [ ! -w /proc/sys/vm/laptop_mode ]; then
echo You do not have enough privileges to enable laptop_mode.
exit 1
fi

case $1 in
start)
# XFS counts in jiffies, the others in centisecs.
AGE=$((100*$MAX_AGE))
XFS_AGE=$(($HZ*$MAX_AGE))
echo -n Starting laptop_mode
echo 1  /proc/sys/vm/laptop_mode
case $KLEVEL in
2.4)
echo 30 500 0 0 $AGE $AGE 60 20 0  
/proc/sys/vm/bdflush
;;
2.6)
echo $AGE  
/proc/sys/vm/dirty_writeback_centisecs
echo $AGE  
/proc/sys/vm/dirty_expire_centisecs
echo $DIRTY_RATIO  
/proc/sys/vm/dirty_ratio
echo $DIRTY_RATIO  
/proc/sys/vm/dirty_background_ratio
   

bdflush can't work with ext3

2004-02-22 Thread Deboo
I have converted my partitions to ext3 but I learnt the other day while
trying to use bdflush to make the hdd spin down, that it won't work with
ext3 partitions ecause ext3 partitions wrrite to disk every 5 seconds, the
journal get written I mean. Is there no way to make the hdd spin down with
ext3? If no, then is reiser or any other kind of journalled FS work with
bdflush? Or is there any other bdflush type utility to do this?

Regards,
Deboo


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED] 
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]