Re: { DriveReady SeekComplete Error } (quelques précisions) [LONG] [encore plus long]
Yves Dessertine wrote:
Je viens de compiler le 2.4.11, j'en ai profité pour relire les
«Help»'s : CONFIG_IDEDISK_MULTI_MODE
Essaie plutôt de faire un kernel 2.4.12, le patch 2.4.11 est marqué
"don't use" !!! Le problème vient peut-être de là !!!
Chez moi, c'est un kernel 2.4.10 (j'utilise toujours les kernel-source de la
sid). Peut-on télécharger manuellement un autre kernel et le compiler "à la
debian" ?
Bien sur, c'est ce que je fais tout le temps pour tester les -preX de
Linus ou les -acX d'Alan Cox. Il me semble que le package de source du
noyau ne fait que les installer au bon endroit ...
[snip]
Le problème ne survient donc pas LORS de la désactivation du swap, mais entre
celle-ci et le démontage. Examun rapide de /etc/init.d/umountfs (forme
abrégée) :
#####################################################
echo -n "Deactivating swap... "
swapoff -a
echo "done."
# Turn off write caching on all IDE devices. Systems that
# do poweroff-on-halt might otherwise still be writing
# stuff to disk when the power is yanked - oops.
# The package 'hdparm' needs to be installed for this to
# work, unfortunately there's no /proc interface for it yet.
#
if [ -x /sbin/hdparm ] && [ -d /proc/ide ]
then
sync
cd /proc/ide
for i in hd*
do
[ -b /dev/$i ] && hdparm -W0 /dev/$i >/dev/null 2>&1
done
fi
echo -n "Unmounting local filesystems... "
umount $FORCE -a -r
echo "done."
mount -n -o remount,ro /
#####################################################
Et pourtant, lorsque je fais un
# hdparm -W0 /dev/hdXX
en root, je n'obtiens aucun message d'erreur dans les logs...
Je suis preneur pour toute aide ...
Je pense que c'est un pb spécifiquement avec les CD-ROMS (ou DVD dans
mon cas). D'ailleurs quand j'essaie d'exécuter la commande :
# hdparm -W0 /dev/hdb
j'obtiens le résultat suivant :
/dev/hdb:
setting drive write-caching to 0 (off)
hdb: status=0x51 { DriveReady SeekComplete Error }
hdb: drive_cmd: erreir=0x04
HDIO_DRIVE_CMD(setcache) failed: Input/ouput error
En fait, il essaie de désactiver le cache en écriture sur un lecteur de
CD-ROM ! Et il échoue bien sur ... Il faudrait donc que le script
vérifie que le périphérique est bien en RW avant de faire le hdparm ...
Donc, je propose un petit patch :
fred@ares:~$ diff -u /etc/init.d/umountfs*
--- /etc/init.d/umountfs Fri Oct 5 14:53:38 2001
+++ /etc/init.d/umountfs.new Sat Oct 13 14:16:44 2001
@@ -31,7 +31,10 @@
cd /proc/ide
for i in hd*
do
+
if [ `cat /proc/ide/$i/media` = disk ]
+
then
[ -b /dev/$i ] && hdparm -W0 /dev/$i >/dev/null 2>&1
+
fi
done
fi
A priori, ça marche bien chez moi (®). Si ça règle les pbs, je le
soumettrai au responsable chez Debian. Il ne me semble pas y avoir de
bug relatif à ce problème sur le BTS pour ce package (sysvinit) et cette
fonctionnalité a été introduite dans la dernière version (2.83-1) :
* Turn off write-caching on all IDE disks prior to unmounting
filesystems. On some systems that poweroff on halt the system
powers off before the IDE disk write cache is flushed. You do
need to have hdparm installed to get this to work.
Fred
Reply to: