Heiko Buchholz wrote:

>Hello,
>
>i have a real big problem. My computer crashed and after a reboot my big data 
>hard disk (IBM 60 GB) with reiserfs couldn't be mounted.
>
>
>Paula /root# mount -t reiserfs /dev/hdb1 /daten
>mount: wrong fs type, bad option, bad superblock on /dev/hdb1,
>       or too many mounted file systems
>
>
>/var/log/messages:
>------------------
>Mar 21 16:31:59 Paula kernel: hdb: dma_intr: status=0x51 { DriveReady 
>SeekComplete Error }
>Mar 21 16:31:59 Paula kernel: hdb: dma_intr: error=0x40 { UncorrectableError 
>}, LBAsect=191, sector=128
>Mar 21 16:31:59 Paula kernel: end_request: I/O error, dev 03:41 (hdb), sector 
>128
>Mar 21 16:31:59 Paula kernel: read_super_block: bread failed (dev 03:41, 
>block 64, size 1024)
>Mar 21 16:32:00 Paula kernel: read_super_block: can't find a reiserfs 
>filesystem on (dev 03:41, block 8, size 1024)
>
>I read some mails from several mailing lists and found out that this is a 
>hard disk failure. I tried 'badblocks /dev/hdb1 50000 -s -b4096' and got tons 
>of error messages like:
>
>Mar 21 16:02:54 Paula kernel: hdb: dma_intr: status=0x51 { DriveReady 
>SeekComplete Error }
>Mar 21 16:02:54 Paula kernel: hdb: dma_intr: error=0x40 { UncorrectableError 
>}, LBAsect=195, sector=132
>Mar 21 16:02:54 Paula kernel: end_request: I/O error, dev 03:41 (hdb), sector 
>132
>
>From sector 0 to 132 and from 28000 to ???? there are these errors. I think 
>this is the reason, i can not mount my device because of the location of the 
>superblock in the first sectors. 
>
You right.

>
>
>
>Now my question. Is there a way to repair the superblock?
>This means mark the bad blocks, than do a --rebuild-sb or --rebuild-tree, try 
>to save some data from that drive and kick this drive out of the window :)
>
>I know. marking bad blocks do not work in reiserfs but i can't do nothing 
>with that drive because all executions of reiserfsck <--option> result in 
>error messages like shown above.
>
>I hop there is somebody that can save my life :)
>
Unfortunately I don't see the way to help you right now. Superblock must 
be located in exactly defined points of the partition. (old reiserfs at 
2 block, and new versions at 16 block if block size is 4096). In this 
locations it will be found by kernel space and user space code 
(reiserfsprogs).

Hovewer its posible (may be in next version of reiserfs) to form new 
super in other offset and to pass some options in mount time.

Example:
mount -t reiserfs -o loop --super-offset=32 /dev/hda1 /home/yura/loop

Don't throw out your drive :))

Thanks, good thing

-- 
Yury Umanets
IT Engineer of Priocom Corp.
Phone: +380 44 2011959, ICQ: 55494590



Reply via email to