* Torsten Hallmann schrieb am 30.Aug.2001:
Am Dienstag, 28. August 2001 12:31 schrieb Joerg Thuemmler:
Yast1 (Suse 6.3) stürzte mir beim Schreiben der Konfiguration auf die Platte (nach der AFAIK fehlerfreien Installation einiger Pakete) ab, hing, ließ sich nur noch mit CTRL-C endgültig beenden. Soweit kein Problem. Aber: Die - anscheinend noch gemountete CD (Nr. 6 - Quellen) läßt sich nicht mehr -per Software - aus dem Laufwerk entfernen, ein umount - egal, ob auf /cdrom oder /dev/hdc oder sonstwas hängt sich auf.
Wenn Du /cdrom oder /dev/hdc verwendest greifst Du auf die /etc/fstab zu und die versucht die CD unter dem Mountpoint /cdrom zu entfernen.
Nein, es wird in /etc/mtab nachgesehen, und da steht drin, wo wirklich gemountet ist. umount /cdrom kann nicht glücken, das ist klar, aber umount /dev/hdc müßte es, falls /dev/hdc die CD-ROM ist. umount /var/adm/mount täte es auch, das ist richtig.
oder so liegen wird. Also
umount /dev/hdc /var/adm/mount
Nein, das geht nicht. Siehe man umount. umount braucht abgesehen von Options genau ein Argument. (Wenn nicht die Option -a dabei ist, dann braucht umount kein Argument)
2 Instanzen des umount-Prozesses hängen und lassen sich auf keine Weise killen, ps alx sagt folgendes: 100 0 26938 1 0 0 1144 412 down_f D ? \ 0:00 umount /cdrom, wobei Status D uninterruptable sleep heißt, was ja manches klärt,
So ist es. Der Prozeß will auf die CD zugreifen. Bei Linux kann ein I/O-Zugriff nur der Kernel machen. Daher beauftragt der Prozeß den Kernel dies zu machen. Dazu geht der Prozeß in den D Status. Ein Prozeß ist immer dann im D Status, wenn er freiwillig den Prozessor am Kernel abgibt. Das ist normalerweise nur ganz kurzfristig, da der Kernel sofort fertig ist. Daher bekommt man diesen Status gar nicht mit. Bei I/O Geschichten kann es natürlich passieren, daß sie nicht ausgeführt werden kann, weil die Gegenseite nicht bereit ist. Dies ist hier offensichtlich der Fall. Weil der Prozeß die CD-ROM blockiert, ist auch ein umount unmöglich. Ein killen des Prozesses erfolgt erst nachdem der Kernel mit dem Auslesen fertig ist, und den Status in R oder S ändern möchte. Dann bekommt der Kernel mit, daß da ein Signal ansteht.
aber was nun ? Gibt es oberhalb des reboots eine Lösung für derlei
AFAIK gibt der Kernel irgendwann mal auf. Kann aber daueren. Mehere Minuten sind da einzuplanen. Hatte ich auch mal. Mit einem neuen CD-Rom-Laufwerk kam der Fehler nicht mehr. Bernd -- Alle meine Signaturen sind rein zufällig und haben nichts mit dem Text oder dem Schreiber zu tun, dem ich antworte. Falls irgendwelche Unrichtigkeiten dabei sein sollten, so bedauere ich das. Es wäre nett, wenn Du mich benachrichtigen würdest. |Zufallssignatur 0