[DRBD-user] Kernel BUG at fs/bio.c while using drbd 8.0.1

Rafał Kupka rkupka+Listy.Drbd at pronet.com.pl
Sat Mar 31 19:42:27 CEST 2007

Note: "permalinks" may not be as permanent as we would like,
direct links of old sources may well be a few messages off.


Hello,

I've encountered problem while trying to setup primary/primary drbd
8.0.1 disk.

My kernel is based on debian etch kernel 2.6.18.dfsg.1-11 with Xen
added.  Thats basically latest 2.6.18.8 + debian patches (with Xen)
+ some patches backported from latest 2.6.16-stable releases.

While starting Xen domU with block devices located on drbd8 device this
BUG happens:

Kernel BUG at fs/bio.c:1101
invalid opcode: 0000 [1] SMP 
CPU 0 
Modules linked in: sha256 drbd cn bridge iscsi_tcp libiscsi scsi_transport_iscsi bonding 8021q xt_tcpudp iptable_nat ip_nat ip_conntrack nfnetlink ip_tables x_tables dm_snapshot dm_mirror softdog w83627ehf i2c_isa k8temp eeprom fuse loop psmouse serio_raw i2c_nforce2 snd_hda_intel snd_hda_codec parport_serial snd_pcm snd_timer snd soundcore pcspkr 8250_pnp parport_pc parport 8250_pci 8250 serial_core snd_page_alloc i2c_core evdev xfs raid456 xor raid10 raid1 raid0 linear md_mod dm_mod sd_mod ide_cd cdrom 8139too sata_nv libata scsi_mod amd74xx 8139cp mii forcedeth generic ide_core ehci_hcd ohci_hcd fan
Pid: 5966, comm: xvd 4 fe:1d Not tainted 2.6.18-5-xen-vserver-amd64 #1
RIP: e030:[<ffffffff8024a9b4>]  [<ffffffff8024a9b4>] bio_split+0x33/0x130
RSP: e02b:ffff880004fa78c0  EFLAGS: 00010206
RAX: ffff88000466fb80 RBX: ffff88000466fb80 RCX: 000000000000003e
RDX: ffffffffff578000 RSI: 0000000000011200 RDI: 0000000000000000
RBP: ffff880006d6a1c0 R08: ffff88000b6160c8 R09: 000000000007ffc8
R10: 0000000000000001 R11: 0000000000000000 R12: 0000000000000002
R13: ffff880001e4fa40 R14: ffff88000751c700 R15: 000000000007ffc2
FS:  00002abf8f48d6d0(0000) GS:ffffffff804d3000(0000) knlGS:0000000000000000
CS:  e033 DS: 0000 ES: 0000
Process xvd 4 fe:1d (pid: 5966[#0], threadinfo ffff880004fa6000, task ffff88000ad730c0)
Stack:  ffffffff00000004  ffff880006a1b800  ffff880006d6a1c0  ffff88000b6160c8 
        0000000000000008  ffffffff88355d71  000000000007ffc2  0000000000000008 
        ffff880006d6a1c0  00000000000000ff 
Call Trace:
 [<ffffffff88355d71>] :drbd:drbd_make_request_26+0x2e5/0x33c
 [<ffffffff8021c2c9>] generic_make_request+0x13a/0x14d
 [<ffffffff880db2bf>] :dm_mod:__map_bio+0x47/0x9b
 [<ffffffff880dbc1f>] :dm_mod:__split_bio+0x172/0x37d
 [<ffffffff880dc432>] :dm_mod:dm_request+0x101/0x110
 [<ffffffff8021c2c9>] generic_make_request+0x13a/0x14d
 [<ffffffff880db2bf>] :dm_mod:__map_bio+0x47/0x9b
 [<ffffffff880dbc1f>] :dm_mod:__split_bio+0x172/0x37d
 [<ffffffff880dc432>] :dm_mod:dm_request+0x101/0x110
 [<ffffffff8021c2c9>] generic_make_request+0x13a/0x14d
 [<ffffffff80234e57>] submit_bio+0xcb/0xd2
 [<ffffffff80376e2e>] dispatch_rw_block_io+0x4c2/0x529
 [<ffffffff880dd628>] :dm_mod:dm_table_unplug_all+0x33/0x43
 [<ffffffff880dd628>] :dm_mod:dm_table_unplug_all+0x33/0x43
 [<ffffffff803770d0>] blkif_schedule+0x23b/0x328
 [<ffffffff80293327>] autoremove_wake_function+0x0/0x2e
 [<ffffffff80293161>] keventd_create_kthread+0x0/0x64
 [<ffffffff80376e95>] blkif_schedule+0x0/0x328
 [<ffffffff80293161>] keventd_create_kthread+0x0/0x64
 [<ffffffff8023437a>] kthread+0xd4/0x107
 [<ffffffff8025f658>] child_rip+0xa/0x12
 [<ffffffff80293161>] keventd_create_kthread+0x0/0x64
 [<ffffffff802342a6>] kthread+0x0/0x107
 [<ffffffff8025f64e>] child_rip+0x0/0x12
Code: 0f 0b 68 75 ae 41 80 c2 4d 04 66 83 7d 2a 00 74 0a 0f 0b 68 
RIP  [<ffffffff8024a9b4>] bio_split+0x33/0x130
 RSP <ffff880004fa78c0>
 <0>Kernel panic - not syncing: Fatal exception
 (XEN) Domain 0 crashed: rebooting machine in 5 seconds.

fs/bio.c:1101 is:
BUG_ON(bi->bi_vcnt != 1);
in bio_split() function.

Drbd backend device is /dev/evms/md2 (created by EVMS from sda3,sdb3).
On drbd disk I put lvm2 container and some logical volumes.
That logical volumes I use as a disk devices to Xen DomUs.

Crash happens when I start DomU while udevd within domain tries to
detect disks.

Similar setup works fine with drbd 0.7.22.

Should drbd handle bios with bi_vcnt != 1 (and not pass them to
bio_split) or is this bug in Xen block device driver?

Regards,
Kupson



More information about the drbd-user mailing list