Package: laptop-mode-tools
Version: 1.32-1
Severity: normal
Tags: patch
*** Please type your report below this line ***
laptop_mode does not expand any wild cards used with PARTITIONS variable
properly, so LVM partitions are not remounted with powersaving
options, even though it set to "auto /dev/mapper/*" by default.
Here's an example with debug output enabled:
# /etc/init.d/laptop-mode start | grep home
/dev/mapper/silun_levyt-home not found in PARTITIONS.
/home not found in PARTITIONS.
Checking /dev/mapper/silun_levyt-home against HD because PARTITIONS
contains "auto".
The problem is quite simple, though I don't understand the reasons for the
laptop_mode coding style with environment variables. With the fix below
I get LVM partitions remounted:
# /etc/init.d/laptop-mode start|grep home
/dev/mapper/silun_levyt-home found in PARTITIONS.
/home not found in PARTITIONS.
Checking /dev/mapper/silun_levyt-home against HD because PARTITIONS
contains "auto".
Executing: mount /dev/mapper/silun_levyt-home -t ext3 /home -o
remount,rw,commit=360
Executing: /sbin/blockdev --setra 6144 /dev/mapper/silun_levyt-home
And the patch:
--- laptop-mode-tools-1.32.orig/usr/sbin/laptop_mode
+++ laptop-mode-tools-1.32/usr/sbin/laptop_mode
@@ -966,19 +966,27 @@
echo "Remounting filesystems." >> $OUTPUT
cat /etc/mtab | while read DEV MP FST OPTS DUMP PASS ; do
DO=0
- if ( echo " $PARTITIONS " | grep " $DEV " > /dev/null )
; then
+ # $PARTITIONS may contain shell wild cards like
+ # /dev/mapper/* , so the shell needs to expand them
+ # before grep matching, thus no quoting with echo and
+ # no white space matches with grep.
+ # Perhaps there is a good reason for this
+ # style? Perhaps no variable should have wild cards or
+ # perhaps all wild cards should be expanded somewhere
+ # else where its safe?
+ if ( echo $PARTITIONS | grep "$DEV" > /dev/null ) ; then
DO=1
echo "$DEV found in PARTITIONS." >> $OUTPUT
else
echo "$DEV not found in PARTITIONS." >> $OUTPUT
fi
- if ( echo " $PARTITIONS " | grep " $MP " > /dev/null )
; then
+ if ( echo $PARTITIONS | grep "$MP" > /dev/null ) ; then
DO=1
echo "$MP found in PARTITIONS." >> $OUTPUT
else
echo "$MP not found in PARTITIONS." >> $OUTPUT
fi
- if ( echo " $PARTITIONS " | grep " auto " > /dev/null )
; then
+ if ( echo $PARTITIONS | grep "auto" > /dev/null ) ; then
echo "Checking $DEV against HD because
PARTITIONS contains \"auto\"." >> $OUTPUT
for THISHD in $HD ; do
echo " Considering $THISHD." >>
$OUTPUT
-- System Information:
Debian Release: testing
APT prefers testing
APT policy: (990, 'testing'), (500, 'unstable'), (500, 'stable')
Architecture: i386 (i686)
Shell: /bin/sh linked to /bin/bash
Kernel: Linux 2.6.17-2-686
Locale: LANG=C, LC_CTYPE=C (charmap=ANSI_X3.4-1968)
Versions of packages laptop-mode-tools depends on:
ii lsb-base 3.1-15 Linux Standard Base 3.1 init scrip
Versions of packages laptop-mode-tools recommends:
ii acpid 1.0.4-5 Utilities for using ACPI power man
ii hdparm 6.6-1 tune hard disk parameters for high
pn sdparm <none> (no description available)
-- no debconf information
--
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]