Hi there,

I have a reiserfs filesystem that has a corrupted journal; whenever I
try to mount it, fsck it (including with the --no-journal-available
option), etc reiserfs tries to seek beyond the end of the block
device.

Is there an easy way to blank the journal so that I can run reiserfsck
on it?

(none):/mnt/backups# reiserfsck /dev/hda1

<-------------reiserfsck, 2002------------->
reiserfsprogs 3.x.1b

Will read-only check consistency of the filesystem on /dev/hda1
Will put log info to 'stdout'

Do you want to run this program?[N/Yes] (note need to type Yes):Yes
###########
reiserfsck --check started at Fri Feb  7 10:43:10 2003
###########
Replaying journal..
trans replayed: mountid 101, transid 216560, desc 6118, len 72, commit 6191, nex
t trans offset 6174
bwrite: lseek to position 2048503808 (block=500123, dev=4): Invalid argument
(none):/mnt/backups# reiserfsck --no-journal-available /dev/hda1

<-------------reiserfsck, 2002------------->
reiserfsprogs 3.x.1b

Will read-only check consistency of the filesystem on /dev/hda1
Will put log info to 'stdout'

Do you want to run this program?[N/Yes] (note need to type Yes):Yes
Filesystem with standard journal found, --no-journal-availabel is ignored
###########
reiserfsck --check started at Fri Feb  7 10:43:29 2003
###########
Replaying journal..
trans replayed: mountid 101, transid 216560, desc 6118, len 72, commit 6191, nex
t trans offset 6174
bwrite: lseek to position 2048503808 (block=500123, dev=4): Invalid argument
(none):/mnt/backups# 

Here is what I get on the console when I try to mount:

mount: wrong fs type, bad option, bad superblock on /dev/hda1,
       or too many mounted file systems
Replay Failure, unable to mount
reiserfs_read_super: unable to initialize journal space
reiserfs: checking transaction log (device 03:01) ...
attempt to access beyond end of device
03:01: rw=1, want=2000496, limit=2000061
attempt to access beyond end of device
03:01: rw=1, want=2000500, limit=2000061
journal-1226: REPLAY FAILURE, fsck required! buffer write failed
Replay Failure, unable to mount
reiserfs_read_super: unable to initialize journal space

Here's the output of debugreiserfs -j (I think - the journal header
option)

Filesystem state: consistency is not checked after last mounting

Reiserfs super block in block 16 on 0x301 of format 3.6 with standard journal
Count of blocks on the device: 524112
Number of bitmaps: 16
Blocksize: 4096
Free blocks (count of blocks - used [journal, bitmaps, data, reserved] blocks): 60981
Root block: 37661
Filesystem is NOT cleanly umounted
Tree height: 5
Hash function used to sort names: "r5"
Objectid map size 2, max 972
Journal parameters:
        Device [0x0]
        Magic [0x2d5b5922]
        Size 8193 blocks (including 1 for journal header) (first block 18)
        Max transaction length 1024 blocks
        Max batch size 900 blocks
        Max commit age 30
Blocks reserved by journal: 0
Fs state field: 0x0
sb_version: 2
inode generation number: 214154
UUID: cbf04f8b-8d1c-4f07-813e-e449c393c294
LABEL: 
Set flags in SB:
        ATTRIBUTES CLEAN
Journal header (block #8210 of /dev/hda1):
        j_last_flush_trans_id 216559
        j_first_unflushed_offset 6100
        j_mount_id 101
        Device [0x0]
        Magic [0x2d5b5922]
        Size 8193 blocks (including 1 for journal header) (first block 18)
        Max transaction length 1024 blocks
        Max batch size 900 blocks
        Max commit age 30

Is there an easy override for this?

Why is the option there, if it is ignored in the standard case?

Cheers,
Sam.

Reply via email to