Re: fsck_4.2bsd: cannot alloc 4020411996 bytes for inoinfo

From: Olaf Hoyer <ohoyer(at)ohoyer.de>
Date: Sat, 6 Aug 2005 12:15:30 +0200 (CEST)

On Sat, 30 Jul 2005, Bernd Walter wrote:

> On Sat, Jul 30, 2005 at 04:25:33PM +0200, Olaf Hoyer wrote:
>> Moin!
>>
>> Habe derzeit einigen Stress mit einer 80GB-IDE-Platte.
>>
>> Diese haengt in einem 5.4-Release-System, beherbergt als Datenhalde ne
>> Menge kleiner Dateien und beim letzten Crash des Systems (evtl.
>> Temperaturopfer in der Dachgeschosswohnung)
>>
>> Also die Maschine dann wieder hochkam und ihre (SCSI)-Systemplatte
>> gecheckt hatte, wollte ich die Datenplatte manuell fscken, leider ohne
>> Erfolg. Es werden diverse kaputte BAD BLOCKS oder EXCESSIVE BAD BLKS
>> angemosert, und schliesslich kommt die Fehlermeldung im Subject:
>>
>> fsck_4.2bsd: cannot alloc 4020411996 bytes for inoinfo
>>
>> Was ist das, was ist da genau alles kaputtgegangen, und vor allen
>> Dingen: kann man das irgendwie wieder hinbiegen?
>>
>> deckard# uname -a
>> FreeBSD deckard.home 5.4-RELEASE FreeBSD 5.4-RELEASE #0: Sun Jul 24
>> 03:18:51 CEST 2005
>> root(at)deckard.home:/usr/src/sys/i386/compile/DECKARD i386
>>
>>
>> atapci1: <HighPoint HPT366 UDMA66 controller> port
>> 0x7000-0x70ff,0x6c00-0x6c03,0x6800-0x6807 irq 15 at device 20.0 on pci0
>> ata2: channel #0 on atapci1
>> atapci2: <HighPoint HPT366 UDMA66 controller> port
>> 0x7c00-0x7cff,0x7800-0x7803,0x7400-0x7407 irq 15 at device 20.1 on pci0
>> ata3: channel #0 on atapci2
>> ad4: 114498MB <SAMSUNG SV1203N/TQ100-24> [232632/16/63] at ata2-master
>> UDMA66
>> ad5: 76319MB <ST380011A/3.06> [155061/16/63] at ata2-slave UDMA66
>>
>> Betroffen ist ad5:
>>
>> fsck -y /dev/ad5s1a
>>
>> 2225128133554515217 BAD I=2614274
>> -1100643585677207190 BAD I=2614274
>> -7325028735816808021 BAD I=2614274
>> -2967680480657801850 BAD I=2614274
>> -6314023632738306313 BAD I=2614274
>> -7933280786246937847 BAD I=2614274
>> 3728162448437519303 BAD I=2614274
>> -5642155490108761931 BAD I=2614274
>> -8822897388106308002 BAD I=2614274
>> -2555700321811112792 BAD I=2614274
>> -2184903411730749069 BAD I=2614274
>> EXCESSIVE BAD BLKS I=2614274
>> CONTINUE? yes
>>
>> INCORRECT BLOCK COUNT I=2614274 (673120 should be 525312)
>> CORRECT? yes
>>
>> fsck_4.2bsd: cannot alloc 4020411996 bytes for inoinfo
>
> Das so viele Inodes kaput sind gibt einem schon zu denken.
> Grundlos sollte das eigendlich nicht passieren.
> Aber IDE ist ja eigendlich schon ein guter Grund...
>
> Wenn du dir sicher bist, dass du den fsck wirklich durchziehen willst,
> dann solltest du per fsdb die besagte Inode löschen und dann noch
> mal den fsck ansetzen.
> Ich würde vorher aber mal im Single-User Mode read-only mounten und
> sehen, ob überhaupt was lesbar aussieht, bevor man da womöglich mehr
> kaput macht.
>
> Das letzte mal, dass ich ein kaputtes Filesystem hatte, welches sich
> nicht mehr mit fsck reparieren lies ist schon viele Jahre her, da
> hat sich eine Festplatten mitten im erstellen eines Snapshots durch
> einen Firmwarebug vom Bus verabschieded und ich musste die Inode
> aller Snapshots löschen, bevor der fsck zufrieden war.
> Das hier sieht aber anders aus.
>
>
Nachtrag: Die Platte konnte gemounted werden, (mount -f), danach konnte
ich noch einige Daten runterkratzen, viele inodestrukturen waren aber
komplett kaputt, auch ein clearen per fsdb(8) half da nix mehr.

Zu dem Zeitpunkt, wo das Unglueck passiert ist, war die nicht die
einzige Platte am Kabel, und ich habe mal per smartmontools einige Dinge
ausgelesen, die nach Wahl beruhigen oder beunruhigen:

Error 27 occurred at disk power-on lifetime: 1742 hours (72 days + 14
hours)
   When the command that caused the error occurred, the device was active
or idle.

   After command completion occurred, registers were:
   ER ST SC SN CL CH DH
   -- -- -- -- -- -- --
   84 51 01 74 f8 50 e9 Error: ICRC, ABRT 1 sectors at LBA = 0x0950f874
= 156301428

   Commands leading to the command that caused the error were:
   CR FR SC SN CL CH DH DC Powered_Up_Time Command/Feature_Name
   -- -- -- -- -- -- -- -- ---------------- --------------------
   c8 00 04 71 f8 50 e9 00 00:00:24.122 READ DMA
   c8 00 04 71 f8 50 e9 00 00:00:24.122 READ DMA
   c8 00 04 71 f8 50 e9 00 00:00:24.120 READ DMA
   c6 00 10 00 00 00 e0 00 00:00:24.097 SET MULTIPLE MODE
   ef 02 00 00 00 00 e0 00 00:00:53.497 SET FEATURES [Enable write
cache]

Error 26 occurred at disk power-on lifetime: 1742 hours (72 days + 14
hours)
   When the command that caused the error occurred, the device was active
or idle.

   After command completion occurred, registers were:
   ER ST SC SN CL CH DH
   -- -- -- -- -- -- --
   84 51 01 74 f8 50 e9 Error: ICRC, ABRT 1 sectors at LBA = 0x0950f874
= 156301428

   Commands leading to the command that caused the error were:
   CR FR SC SN CL CH DH DC Powered_Up_Time Command/Feature_Name
   -- -- -- -- -- -- -- -- ---------------- --------------------
   c8 00 04 71 f8 50 e9 00 00:00:24.122 READ DMA
   c8 00 04 71 f8 50 e9 00 00:00:24.122 READ DMA
   c6 00 10 00 00 00 e0 00 00:00:24.120 SET MULTIPLE MODE
   ef 02 00 00 00 00 e0 00 00:00:24.097 SET FEATURES [Enable write
cache]
   ef aa 00 00 00 00 e0 00 00:00:24.096 SET FEATURES [Enable read
look-ahead]

Boese Dinge im Umfeld der Caches duerften einiges erklaeren, wie das
Filesystem aussah. Und ja, IDE ist zwar in der letzten Zeit etwas besser
geworden, aber das ganze Thema Performance, DMA und Caching erinnert
mich etwas an den default-async-mount von ext2- per default recht fix,
aber im Fehlerfalle viel Spass mit kaputten Daten...

Gruesse
Olaf

-- 
Olaf Hoyer        ohoyer(at)ohoyer.de
Fuerchterliche Erlebniss geben zu raten,
ob der, welcher sie erlebt, nicht etwas Fuerchterliches ist.
(Nietzsche, Jenseits von Gut und Boese)
To Unsubscribe: send mail to majordomo(at)de.FreeBSD.org
with "unsubscribe de-bsd-questions" in the body of the message
Received on Sat 06 Aug 2005 - 12:16:26 CEST

search this site