interesting.
i repeated the test:
- booting with the good kernel to recover the filesytem.
- cp -av /usr/src/linux/ /tmp/
- hardreset
- booting the bad kernel
[...]
fatfs: bogus cluster size
fatfs: bogus cluster size
Start mounting filesystem: ide0(3,6)
XFS: WARNING: recovery required on readonly filesystem.
XFS: write access will be enabled during recovery.
Starting XFS recovery on filesystem: ide0(3,6) (dev: 3/6)
cmn_err level 1 Filesystem "ide0(3,6)": xfs_inode_recover: Bad inode log
record, rec ptr 0xc12a2ce0, dino ptr 0xc12b9b00, dino bp 0xc7f45d00, ino
13752315, total extents = -2, nblocks = 0
XFS: log mount/recovery failed
XFS: log mount failed
Kernel panic: VFS: Unable to mount root fs on 03:06
the kernel hangs, no kdb!
same procedure above:
[...]
fatfs: bogus cluster size
fatfs: bogus cluster size
Start mounting filesystem: ide0(3,6)
XFS: WARNING: recovery required on readonly filesystem.
XFS: write access will be enabled during recovery.
Starting XFS recovery on filesystem: ide0(3,6) (dev: 3/6)
Unable to handle kernel NULL pointer dereference at virtual address 0000003c
printing eip:
c0163d04
*pde = 00000000
Entering kdb (current=0xc125c000, pid 1) Panic: Oops
due to panic @ 0xc0163d04
eax = 0x00000000 ebx = 0xc7f87400 ecx = 0x00000000 edx = 0x00000200
esi = 0xc1281d20 edi = 0x00000001 esp = 0xc125d944 eip = 0xc0163d04
ebp = 0x00000000 xss = 0x00000018 xcs = 0x00000010 eflags = 0x00010282
xds = 0x00000018 xes = 0x00000018 origeax = 0xffffffff ®s = 0xc125d910
kdb> bt
EBP EIP Function(args)
0x00000000c0163d04 pagebuf_geterror+0x4 (0x0)
kernel .text 0xc0100000 0xc0163d00 0xc0163d08
0x00000000c01ad329 xlog_recover_do_buffer_trans+0x155 (0xc125bb60,
0xc12811e0, 0x2)
kernel .text 0xc0100000 0xc01ad1d4 0xc01ad490
0x00000000c01adfb5 xlog_recover_do_trans+0xf9 (0xc125bb60,
0xc7f861a0, 0x2)
kernel .text 0xc0100000 0xc01adebc 0xc01adfc8
0x00000000c01ae05b xlog_recover_commit_trans+0x27 (0xc125bb60,
0xc125da78, 0xc7f861a0, 0x2)
kernel .text 0xc0100000 0xc01ae034 0xc01ae070
0x00000000c01ae1a8 xlog_recover_process_data+0x124 (0xc125bb60,
0xc125da60, 0xc7f8ec00, 0xc7f30d9c, 0x2)
kernel .text 0xc0100000 0xc01ae084 0xc01ae230
0x00000000c01aed45 xlog_do_recovery_pass+0x42d (0xc125bb60, 0x6d9,
0x0, 0x123d, 0x0)
kernel .text 0xc0100000 0xc01ae918 0xc01aeed0
0x00000000c01aef45 xlog_do_log_recovery+0x75 (0xc125bb60, 0x6d9,
0x0, 0x123d, 0x0)
kernel .text 0xc0100000 0xc01aeed0 0xc01aef6c
0x00000000c01aef8e xlog_do_recover+0x22 (0xc125bb60, 0x6d9, 0x0,
0x123d, 0x0)
kernel .text 0xc0100000 0xc01aef6c 0xc01af064
0x00000000c01af100 xlog_recover+0x9c (0xc125bb60, 0x1)
kernel .text 0xc0100000 0xc01af064 0xc01af128
0x00000000c01a9045 xfs_log_mount+0x75 (0xc7f87400, 0x306, 0x24c520,
0x0, 0x2580)
kernel .text 0xc0100000 0xc01a8fd0 0xc01a907c
0x00000000c01b07e8 xfs_mountfs+0xcf4 (0xc7f86160, 0xc7f87400, 0x306,
0x0)
more>
kernel .text 0xc0100000 0xc01afaf4 0xc01b0c64
0x00000000c01b8bd9 xfs_cmountfs+0x51d (0xc7f86160, 0x306, 0x306,
0x0, 0x2)
kernel .text 0xc0100000 0xc01b86bc 0xc01b8c44
0x00000000c01b8dde xfs_mount+0xd2 (0xc7f86160, 0xc7f8e6ec,
0xc125df20, 0xc0388fe0, 0xc7f86160)
kernel .text 0xc0100000 0xc01b8d0c 0xc01b8de8
0x00000000c01b8e0b xfs_vfsmount+0x23 (0xc7f86160, 0xc7f8e6ec,
0xc125df20, 0x0, 0xc0388fe0)
kernel .text 0xc0100000 0xc01b8de8 0xc01b8e20
0x00000000c01c9bc1 linvfs_read_super+0x225 (0xc7f8e400, 0x0, 0x1)
kernel .text 0xc0100000 0xc01c999c 0xc01c9ca4
0x00000000c01337bc read_super+0x100 (0x306, 0xc7f85120, 0xc0326270,
0x1, 0x0)
kernel .text 0xc0100000 0xc01336bc 0xc013382c
0x00000000c033c834 mount_root+0x164
kernel .text.init 0xc0336000 0xc033c6d0
0xc033ca40
0x00000000c033692e do_basic_setup+0x3a
kernel .text.init 0xc0336000 0xc03368f4
0xc0336930
0x00000000c0107007 init+0x7
kernel .text 0xc0100000 0xc0107000 0xc0107150
0x00000000c0108da7 kernel_thread+0x23
kernel .text 0xc0100000 0xc0108d84 0xc0108db4
kdb>
|