[Wylug-help] ext3 journal corruption

Don Magee don at leedsweb.dyndns.org
Tue Oct 16 16:16:44 BST 2007



I have a drive with an ext3 file system that has a bad block somewhere 
in the journal. It seems that the way to fix the problem is to unset the 
has_journal flag and recreate the journal using tune2fs.

But I can't unset has_journal while the needs_recovery flag is set.
And I can't run e2fsck with a corrupt journal.
And I can't fix the bad blocks  with a corrupt journal.

Anyone know the way out of this?



Don Magee






Error Messages etc


[root at storage1 ~]# tune2fs -f -O ^has_journal  /dev/sdc1
tune2fs 1.38 (30-Jun-2005)
The needs_recovery flag is set.  Please run e2fsck before clearing
the has_journal flag.


[root at storage1 ~]# e2fsck -f /dev/sdc1
e2fsck 1.38 (30-Jun-2005)
/dev/sdc1: Attempt to read block from filesystem resulted in short read 
while reading block 1575

/dev/sdc1: Attempt to read block from filesystem resulted in short read 
reading journal superblock

e2fsck: Attempt to read block from filesystem resulted in short read 
while checking ext3 journal for /dev/sdc1


(fsck terminates without offering the ignore error option)



[root at storage1 ~]# badblocks -b 4096 /dev/sdc1
1536
1575

(paste these into badblok.dat)


[root at storage1 ~]# e2fsck -l badblok.dat /dev/sdc1
e2fsck 1.38 (30-Jun-2005)
/dev/sdc1: Attempt to read block from filesystem resulted in short read 
while reading block 1575

/dev/sdc1: Attempt to read block from filesystem resulted in short read 
reading journal superblock

e2fsck: Attempt to read block from filesystem resulted in short read 
while checking ext3 journal for /dev/sdc1




dmesg output after a failed mount

Buffer I/O error on device sdc1, logical block 6301    (1575 x 4 = 6300)
ata3: no sense translation for status: 0x51
ata3: status=0x51 { DriveReady SeekComplete Error }
ata3: no sense translation for status: 0x51
ata3: status=0x51 { DriveReady SeekComplete Error }
ata3: no sense translation for status: 0x51
ata3: status=0x51 { DriveReady SeekComplete Error }
ata3: no sense translation for status: 0x51
ata3: status=0x51 { DriveReady SeekComplete Error }
ata3: no sense translation for status: 0x51
ata3: status=0x51 { DriveReady SeekComplete Error }
ata3: no sense translation for status: 0x51
ata3: status=0x51 { DriveReady SeekComplete Error }
sd 2:0:0:0: SCSI error: return code = 0x8000002
sdc: Current: sense key: Medium Error
     Additional sense: Unrecovered read error - auto reallocate failed
end_request: I/O error, dev sdc, sector 12663
JBD: IO error reading journal superblock
EXT3-fs: error loading journal.




More information about the Wylug-help mailing list