[Drbd-dev] DRBD-8: Disk I/O failure during processing of attach
command causes panic in drbd_chk_io_error
Graham, Simon
Simon.Graham at stratus.com
Tue Aug 8 16:47:04 CEST 2006
The drbd_ioctl_set_disk() routine allocates a new backing_dev structure
but does not attach it to the mdev until after the meta data has been
successfully read - if any disk error (such as a read of the meta data
area failing) occurs during this process, the low level routines such as
drbd_al_read_tr call drbd_chk_io_error which assumes that mdev->bc has
been initialized, leading to a panic.
Not sure what the right answer is here, but perhaps drbd_chk_io_error()
and drbd_io_error() need to be passed the backing_dev* as a parameter
instead of reading it from mdev->bc?
/simgr
--- sample panic ---
Aug 8 10:32:05 ellwood kernel: Simulating read meta-data sync failure
Aug 8 10:32:05 ellwood kernel: drbd15:
drbd_md_sync_page_io(,2097082,READ) failed!
Aug 8 10:32:05 ellwood kernel: Unable to handle kernel NULL pointer
dereference at virtual address 00000014
Aug 8 10:32:05 ellwood kernel: printing eip:
Aug 8 10:32:05 ellwood kernel: f1115997
Aug 8 10:32:05 ellwood kernel: *pde = ma 00000000 pa fffff000
Aug 8 10:32:05 ellwood kernel: Oops: 0000 [#1]
Aug 8 10:32:05 ellwood kernel: Modules linked in: drbd ipmi_devintf
ipmi_si ipmi_msghandler video thermal processor fan button battery ac
Aug 8 10:32:05 ellwood kernel: CPU: 0
Aug 8 10:32:05 ellwood kernel: EIP: 0061:[<f1115997>] Not tainted
VLI
Aug 8 10:32:05 ellwood kernel: EFLAGS: 00010046 (2.6.16.13-xen0 #1)
Aug 8 10:32:05 ellwood kernel: EIP is at drbd_al_read_tr+0x87/0x170
[drbd]
Aug 8 10:32:05 ellwood kernel: eax: 00000000 ebx: 00000000 ecx:
00004ee0 edx: 00000001
Aug 8 10:32:05 ellwood kernel: esi: ebd2d000 edi: ec117660 ebp:
ec19bd9c esp: ec19bd80
Aug 8 10:32:05 ellwood kernel: ds: 007b es: 007b ss: 0069
Aug 8 10:32:05 ellwood kernel: Process drbdsetup (pid: 7639,
threadinfo=ec19a000 task=ecb00530)
Aug 8 10:32:05 ellwood kernel: Stack: <0>ec117660 ee4e7c40 001fffba
00000000 00000000 ebd2d000 ec117660 ec19bde4
Aug 8 10:32:05 ellwood kernel: f1115b29 ec117660 ee4e7c40
ebd2d000 00000002 f1105a02 00000005 00000000
Aug 8 10:32:05 ellwood kernel: 00000000 0000000d 0000000c
00000002 00000001 00000000 ee4e7c40 00000000
Aug 8 10:32:05 ellwood kernel: Call Trace:
Aug 8 10:32:05 ellwood kernel: [<c010513a>]
show_stack_log_lvl+0xaa/0xe0
Aug 8 10:32:05 ellwood kernel: [<c010534e>] show_registers+0x18e/0x210
Aug 8 10:32:05 ellwood kernel: [<c0105549>] die+0xd9/0x180
Aug 8 10:32:05 ellwood kernel: [<c0112b7c>] do_page_fault+0x3cc/0x640
Aug 8 10:32:05 ellwood kernel: [<c0104d5f>] error_code+0x2b/0x30
Aug 8 10:32:05 ellwood kernel: [<f1115b29>]
drbd_al_read_log+0xa9/0x330 [drbd]
Aug 8 10:32:05 ellwood kernel: [<f1105fe1>]
drbd_ioctl_set_disk+0x3c1/0x760 [drbd]
Aug 8 10:32:05 ellwood kernel: [<f110812e>] drbd_ioctl+0x7ee/0x825
[drbd]
Aug 8 10:32:05 ellwood kernel: [<c020f702>]
blkdev_driver_ioctl+0x42/0x70
Aug 8 10:32:05 ellwood kernel: [<c020f8af>] blkdev_ioctl+0x17f/0x200
Aug 8 10:32:05 ellwood kernel: [<c016182b>] block_ioctl+0x2b/0x30
Aug 8 10:32:05 ellwood kernel: [<c016b76e>] do_ioctl+0x6e/0x80
Aug 8 10:32:05 ellwood kernel: [<c016b8c2>] vfs_ioctl+0x62/0x1d0
Aug 8 10:32:05 ellwood kernel: [<c016ba71>] sys_ioctl+0x41/0x70
Aug 8 10:32:05 ellwood kernel: [<c0104be9>] syscall_call+0x7/0xb
Aug 8 10:32:05 ellwood kernel: Code: 7e f2 31 d2 8b 86 f8 01 00 00 0f
c8 39 d8 0f 44 d1 83 c4 10 89 d0 5b 5e 5f 5d c3 a1 bc 75 4c c0 0f b6 58
01 c6 40 01 01 8b 47 30 <8b> 40 14 83 f8 01 0f 84 82 00 00 00 72 33 83
f8 02 74 2e 8b 15
Aug 8 10:32:05 ellwood kernel: <0>Fatal exception: panic in 5 seconds
More information about the drbd-dev
mailing list