Re: Incorrect super block

From: Bernd Walter <ticso(at)cicely.de>
Date: Mon, 28 Jun 1999 00:32:56 +0200

On Sun, Jun 27, 1999 at 11:45:48PM +0200, Oliver Fromme wrote:
> Bernd Walter wrote in list.de-bsd-questions:
> > Wenn es ein Plattenfehler ist, dann mag der block ausgetauscht werden.
> > Block 16 duerfte wenn ich das noch richtig im Kopf habe auch ersetzbar sein.
> > Nur gibt der Kernel bei Hardwaredefekten auch eine Meldung vom Devicetreiber
> > aus - die kann man nur sehr schwer uebersehen.
>
> Stimmt.
>
> > Deshalb hatte ich eher einen Fehler im Label vermutet.
>
> Die relevanten Zeilen aus /usr/src/sbin/fsck/utilities.c, die
> die zu der Meldung von fsck geführt haben:
>
> if (lseek(fd, offset, 0) < 0)
> rwerror("SEEK", blk);
> else if (read(fd, buf, (int)size) == size)
> return (0);
> rwerror("READ", blk);
>
> Leider ist die Fehlerbehandlung hier verbesserungsbedüftig,
> z.B. wäre es extrem hilfreich, den Rückgabewert des read() und
> gegebenenfalls den Inhalt von errno auszugeben (sollte man
> vielleicht mal send-pr'en).
Das es hierfuer unterschiedliche und zum Teil auch sehr ungewoehnliche
Ursachen gibt beweist folgendes:
bash-2.00# fsck /dev/rccd1c
** /dev/rccd1c

CANNOT READ: BLK 16
CONTINUE? [yn] n

bash-2.00# ccdconfig -g
ccd0 16 0 /dev/da20e /dev/da17e

fsck ist scheinbar nicht immer in der Lage beim oeffnen vom device zu erkennen,
das dieses nicht configured ist.
Das ganze geht sogar soweit, das fsck -p durchaus von Softupdates ausgeht:
/dev/rccd0c: CANNOT READ: BLK 16
/dev/rccd0c: UNEXPECTED SOFT UPDATE INCONSISTENCY; RUN fsck MANUALLY.

Weil der fsck -p im Anschluss noch etliche Warnings rauswirft habe ich uebrigens
kuerzlich bin/12398 aufgemacht.

Es kann also durchaus auch ein falscher Eintrag im /dev verzeichniss sein.
Zumindestens ist Blocks 16 das erste, was fsck anpackt - kein Wunder, da es
sich hierbei um den Hauptsuperblock handelt.

> Einen Lesefehler auf der Platte fand ich am naheliegendsten
> als Ursache dafür, daß das read() hier schiefgeht, aber es kann
> natürlich auch etwas anderes sein.
Es ist meiner Ansicht nach mit Sicherheit was anderes.
>
> > Vieleicht bin ich auch zu sehr darauf versiert, das man FreeBSD nur einmal
> > pro Rechner installiert...
>
> Kommt drauf an, was man als "installieren" bezeichnet. Für
> mich ist auch jedes "make installworld" eine Installation.
> Ob die neuen Binaries von einer CD-ROM, vom Netz oder aus
> /usr/obj kommen, ist meiner Meinung nach nicht so entscheidend.
>
> In diesem Sinne installiere ich FreeBSD durchaus mehrmals pro
> Rechner, und ich finde das auch OK. ;-)
Zumindestens geht das ohne Floppies... :)

-- 
B.Walter                  COSMO-Project              http://www.cosmo-project.de
ticso(at)cicely.de                                      info(at)cosmo-project.de
To Unsubscribe: send mail to majordomo(at)de.FreeBSD.org
with "unsubscribe de-bsd-questions" in the body of the message
Received on Mon 28 Jun 1999 - 00:32:15 CEST

search this site