On Tue, 2005-08-02 at 15:38 -0700, Will wrote:
> Recently when adding another few drives to my raid
> card I carelessly moved the position of a number of
> drives in a 5 drive raid 5 array. I spent quite a bit
> of time determining the proper order for the drives,
> and I am 95% sure I have it correct. I know for
> certain the first drive is in the correct position
> because I can again see the partition table. I can
> not, however, access the file system.
> 
> I figured if I ran a read-only JFS fsck I could
> determine if all of the drives are in the proper
> order. However, when I try to run the fsck I get an
> error saying that if the device described contains a
> jfs filesystem my primary and secondary superblocks
> must be corrupted.
> 
> I did a little research (I am fairly new to linux) and
> found the jfs_debugfs command and used it to
> investigate the file system. I am not really sure what
> I proper jfs file system superblock should look like,
> so I was hoping someone might be able to tell me what
> could be wrong and how I could fix it. 

The superblock looks very bad.  It almost has no resemblance to the jfs
superblock, except that the s_magic and version fields are almost
correct.  What's strange is that the s_magic field should be 'JFS1' (all
capitals).  Nearly everything else looks completely wrong.

> The ouput is
> below:
> 
> jfs_debugfs /dev/sda1
> jfs_debugfs version 1.1.7, 22-Jul-2004
> 
> Aggregate Block Size: 4352

This should always be 4096
> 
> > su
> [1] s_magic:            'JfS1'          [15] s_ait2.addr1:      0xff
s_magic should be 'JFS1'.
> [2] s_version:          1               [16] s_ait2.addr2:      0xffff8b62
> [3] s_size:     0x0000000074668f78           s_ait2.address:    1099511597922
> [4] s_bsize:            4352            [17] s_logdev:          0xfffff7fe
s_bsize should be 4096
> [5] s_l2bsize:          4               [18] s_logserial:       0xffffffd7
s_l2bsize should be 12
> [6] s_l2bfactor:        3               [19] s_logpxd.len:      16769023
s_l2bfactor should be 3.  It is!
> [7] s_pbsize:           597             [20] s_logpxd.addr1:    0xff
s_pbsize should be 512
> [8] s_l2pbsize:         13              [21] s_logpxd.addr2:    0xf172e0c2
s_lpbsize should be 9.  Everything after this looks like complete
garbage.
> [9] pad:                Not Displayed        s_logpxd.address:  1099267498178
> [10] s_agsize:          0xffdfff05      [22] s_fsckpxd.len:     16769713
> [11] s_flag:            0xefdff6ff      [23] s_fsckpxd.addr1:   0xff
>                 JFS_OS2                 [24] s_fsckpxd.addr2:   0xf172fe10
>         JFS_COMMIT                           s_fsckpxd.address: 1099267505680
>         JFS_LAZYCOMMIT                  [25] s_time.tv_sec:     0xbd400320
>         JFS_BAD_SAIT    JFS_SPARSE      [26] s_time.tv_nsec:    0xffffffff
>         DASD_ENABLED    DASD_PRIME      [27] s_fpack:           ''
> [12] s_state:           0xffffffff         Unknown State
> [13] s_compress:        -1
> [14] s_ait2.len:        16777211

The beginning of the superblock has enough resemblance to a correct
superblock to make it look like you have the right blocks, but there is
too much wrong.  I know very little about raid.  Could you be using
raid3 or raid7?  I think the use of byte-size striping may explain the
problem if all 5 disks aren't ordered properly.

> display_super: [m]odify or e[x]it: x
> > s2p

s2p is kind of silly in that it mostly prints the same stuff.  "sup s"
will print the secondary superblock.
-- 
David Kleikamp
IBM Linux Technology Center



-------------------------------------------------------
SF.Net email is sponsored by: Discover Easy Linux Migration Strategies
from IBM. Find simple to follow Roadmaps, straightforward articles,
informative Webcasts and more! Get everything you need to get up to
speed, fast. http://ads.osdn.com/?ad_id=7477&alloc_id=16492&op=click
_______________________________________________
Jfs-discussion mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/jfs-discussion

Reply via email to