Re: Incorrect super block

From: Oliver Fromme <olli(at)dorifer.heim3.tu-clausthal.de>
Date: Sun, 27 Jun 1999 23:45:48 +0200 (CEST)

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).

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.

> 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. ;-)

Gruß
   Oliver

-- 
Oliver Fromme, Leibnizstr. 18/61, 38678 Clausthal, Germany
(Info: finger userinfo:olli(at)dorifer.heim3.tu-clausthal.de)
"In jedem Stück Kohle wartet ein Diamant auf seine Geburt"
                                         (Terry Pratchett)
To Unsubscribe: send mail to majordomo(at)de.FreeBSD.org
with "unsubscribe de-bsd-questions" in the body of the message
Received on Sun 27 Jun 1999 - 23:46:05 CEST

search this site