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
