[Jfs-discussion] Fixing damaged superblocks?
Brought to you by:
blaschke-oss,
shaggyk
From: CG M. <lc...@ho...> - 2009-06-24 02:33:43
|
I had a bad power outage that left my Ubuntu 8.04 4x750MB Raid 5 fine according to the raid software but damaged according to fsck. I'm hoping there might be a way to recover this fs since my primary Superblock 'SEEMS' almost correct. First, here's what fsck -v reports: -------------------------- fsck 1.40.8 (13-Mar-2008) fsck.jfs version 1.1.11, 05-Jun-2006 processing started: 6/23/2009 22.9.27 Using default parameter: -p The current device is: /dev/sda1 Open(...READ/WRITE EXCLUSIVE...) returned rc = 0 Invalid data (13) detected in the superblock (P). Invalid magic number in the superblock (S). Superblock is corrupt and cannot be repaired since both primary and secondary copies are corrupt. CANNOT CONTINUE. -------------------------- Running the jfs_debugfs utility and displaying the primary sb gives the results below which seems to look pretty normal: ---------------------------- [1] s_magic: 'JFS1' [15] s_ait2.addr1: 0x00 [2] s_version: 1 [16] s_ait2.addr2: 0x0000aee4 [3] s_size: 0x00000000fffce838 s_ait2.address: 44772 [4] s_bsize: 4096 [17] s_logdev: 0x00000801 [5] s_l2bsize: 12 [18] s_logserial: 0x0000000a [6] s_l2bfactor: 3 [19] s_logpxd.len: 8192 [7] s_pbsize: 512 [20] s_logpxd.addr1: 0x00 [8] s_l2pbsize: 9 [21] s_logpxd.addr2: 0x1fffdd3a [9] pad: Not Displayed s_logpxd.address: 536862010 [10] s_agsize: 0x00400000 [22] s_fsckpxd.len: 16435 [11] s_flag: 0x10200900 [23] s_fsckpxd.addr1: 0x00 JFS_LINUX [24] s_fsckpxd.addr2: 0x1fff9d07 JFS_COMMIT JFS_GROUPCOMMIT s_fsckpxd.address: 536845575 JFS_INLINELOG [25] s_time.tv_sec: 0x48504287 [26] s_time.tv_nsec: 0x00000000 [27] s_fpack: '' [12] s_state: 0x00000000 FM_CLEAN [13] s_compress: 0 [14] s_ait2.len: 4 ---------------------------- However displaying the secondary sb seems to show a lot of damage as seen below: ---------------------------- [1] s_magic: ' ' [15] s_ait2.addr1: 0xff [2] s_version: 0 [16] s_ait2.addr2: 0xffffffff [3] s_size: 0x0000000000036000 s_ait2.address: 1099511627775 [4] s_bsize: 256 [17] s_logdev: 0xffffffff [5] s_l2bsize: 8 [18] s_logserial: 0xffffffff [6] s_l2bfactor: 0 [19] s_logpxd.len: 16777215 [7] s_pbsize: 85 [20] s_logpxd.addr1: 0xff [8] s_l2pbsize: 4 [21] s_logpxd.addr2: 0xffffffff [9] pad: Not Displayed s_logpxd.address: 1099511627775 [10] s_agsize: 0xffffff05 [22] s_fsckpxd.len: 16777215 [11] s_flag: 0xffffffff [23] s_fsckpxd.addr1: 0xff JFS_OS2 JFS_LINUX [24] s_fsckpxd.addr2: 0xffffffff JFS_COMMIT JFS_GROUPCOMMIT s_fsckpxd.address: 1099511627775 JFS_LAZYCOMMIT JFS_INLINELOG [25] s_time.tv_sec: 0xffffffff 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: 16777215 ---------------------------- Any hope to manually patch it? TIA Greg |