On Fri, Jun 13, 2014 at 04:48:37PM +0200, Dick Tump (Shock Media
B.V.) wrote:
Hello,
I have the following issue with DRBD 8.4. I have also reported it
as
a bug for the Ubuntu DRBD package, but after I did some more
testing
and used a manually compiled drbd kernel module and drbd-utils, the
issue is still there. So it seems to be a generic DRBD thing.
When you use the same resource for 2 minors, it oops'es the kernel.
Of course you should not do that, but on the other hand a kernel
oops should not be the result. The expected output is just an error
message, I think. This makes DRBD resource/minor management more
difficult and also kind of dangerous.
DRBD 8.3 does not have this problem, probably because it works a
bit
different with resources/minors.
Steps to reproduce:
* drbdsetup new-resource test1
* drbdsetup new-minor test1 1 0
* drbdsetup new-minor test1 3 0
It exits showing the message 'Killed'. The kernel log shows some
errors and DRBD is not usable anymore. After a short while or when
executing other drbdsetup commands, the whole system crashes.
I am not sure whether it's the utils package, or the kernel module.
The system is running Ubuntu 14.04 with kernel package
linux-image-3.13.0-24-generic. I have tested the Ubuntu packages
for
DRBD (DRBD 8.4.3 / drbd8-utils 2:8.4.4-1ubuntu1) and the manually
compiled combination from drbd-8.4.5.tar.gz and
drbd-utils-8.9.0.tar.gz.
As this is a kernel problem, the user land versions are not relevant.
If I try with my current module 8.4.5, I get
# drbdsetup new-resource s0
# drbdsetup new-minor s0 1 0
# drbdsetup new-minor s0 3 0
s0: Failure: (161) Minor exists already (delete it first)
additional info from kernel:
requested minor exists already
# dmesg | tail
drbd: events: mcg drbd: 2
drbd: initialized. Version: 8.4.5 (api:1/proto:86-101)
drbd: GIT-hash: 1d360bde0e095d495786eaeb2a1ac76888e4db96 build by
root@alice, 2014-06-16 13:25:11
drbd: registered as block device major 147
Admittedly that was on a centos6 kernel.
The expected output is just an error message, I think.
Right. And that's exactly what happens here.
I don't know what's going on there with your setup.
I'll try to reproduce with a 3.13 kernel later as well,
but I don't see why that would change anything: it's not supposed to
reach kernel-version specific code paths here, the drbd configuration
interface is catching the double minor already, as seen above.
This is the kernel output:
[ 75.396062] BUG: unable to handle kernel NULL pointer dereference
at 0000000000000028
[ 75.397884] IP: [<ffffffff81351b38>] blk_throtl_drain+0x28/0x130
[ 75.399256] PGD dce0c067 PUD dce0b067 PMD 0 [ 75.400025] Oops:
0000
[#1] SMP [ 75.400025] Modules linked in: drbd(OF) libcrc32c bridge
You should not need to "force" load DRBD.
If you have to, you take the blame if something goes wrong :-/
stp llc gpio_ich lpc_ich dm_multipath scsi_dh coretemp kvm_intel
kvm
serio_raw xgifb(C) lp parport i3200_edac mac_hid edac_core psmouse
tg3 ptp pps_core 3w_9xxx
[ 75.400025] CPU: 0 PID: 1290 Comm: drbdsetup-84 Tainted: GF C O
3.13.0-24-generic #47-Ubuntu
[ 75.400025] Hardware name: ASUS RS120-E5/PA2/P5BV-R, BIOS 0203
10/19/2007
[ 75.400025] task: ffff880035c317f0 ti: ffff8800e7038000 task.ti:
ffff8800e7038000
[ 75.400025] RIP: 0010:[<ffffffff81351b38>] [<ffffffff81351b38>]
blk_throtl_drain+0x28/0x130
[ 75.400025] RSP: 0018:ffff8800e7039a88 EFLAGS: 00010046
[ 75.400025] RAX: 0000000000000000 RBX: ffff880105a7b510 RCX:
000000018010000f
[ 75.400025] RDX: 000000000000000e RSI: 0000000000000001 RDI:
0000000000000000
[ 75.400025] RBP: ffff8800e7039aa0 R08: 0000000000000000 R09:
0000000000000001
[ 75.400025] R10: ffffea00039ffb00 R11: ffffffff81340f10 R12:
ffff880105a7b510
[ 75.400025] R13: ffff8800e9e88900 R14: ffff880105a7bb60 R15:
0000000000000003
[ 75.400025] FS: 00007f6220e82740(0000) GS:ffff88010fc00000(0000)
knlGS:0000000000000000
[ 75.400025] CS: 0010 DS: 0000 ES: 0000 CR0: 000000008005003b
[ 75.400025] CR2: 0000000000000028 CR3: 00000000dce09000 CR4:
00000000000007f0
[ 75.400025] Stack:
[ 75.400025] ffff880105a7b510 0000000000000001 ffff880105a7bb70
ffff8800e7039ab0
[ 75.400025] ffffffff8134eb7e ffff8800e7039ae0 ffffffff81332c84
ffff880105a7b510
[ 75.400025] ffff8801097cbcf0 ffff880105a7bd10 ffff88010592d800
ffff8800e7039b08
[ 75.400025] Call Trace:
[ 75.400025] [<ffffffff8134eb7e>] blkcg_drain_queue+0xe/0x10
[ 75.400025] [<ffffffff81332c84>] __blk_drain_queue+0x74/0x180
[ 75.400025] [<ffffffff81332eed>] blk_cleanup_queue+0x8d/0x180
[ 75.400025] [<ffffffffa01a4d81>] drbd_create_device+0x471/0x780
[drbd]
[ 75.400025] [<ffffffff81385164>] ? __nla_reserve_nohdr+0x24/0x30
[ 75.400025] [<ffffffffa01a3fdb>] ? drbd_find_resource+0x3b/0x90
[drbd]
[ 75.400025] [<ffffffffa01adb37>] drbd_adm_new_minor+0x87/0xd0
[drbd]
[ 75.400025] [<ffffffff8164978d>] genl_family_rcv_msg+0x18d/0x370
[ 75.400025] [<ffffffff81649970>] ? genl_family_rcv_msg+0x370/0x370
[ 75.400025] [<ffffffff81649a01>] genl_rcv_msg+0x91/0xd0
[ 75.400025] [<ffffffff81647a89>] netlink_rcv_skb+0xa9/0xc0
[ 75.400025] [<ffffffff81647f88>] genl_rcv+0x28/0x40
[ 75.400025] [<ffffffff816470b5>] netlink_unicast+0xd5/0x1b0
[ 75.400025] [<ffffffff8164748f>] netlink_sendmsg+0x2ff/0x740
[ 75.400025] [<ffffffff816016fe>] sock_aio_write+0xfe/0x130
[ 75.400025] [<ffffffff8164664d>] ? netlink_insert+0x14d/0x240
[ 75.400025] [<ffffffff811b8daa>] do_sync_write+0x5a/0x90
[ 75.400025] [<ffffffff811b962d>] vfs_write+0x1ad/0x1f0
[ 75.400025] [<ffffffff811b9f69>] SyS_write+0x49/0xa0
[ 75.400025] [<ffffffff817266bf>] tracesys+0xe1/0xe6
[ 75.400025] Code: ff 66 90 66 66 66 66 90 55 48 89 e5 41 55 41 54
49 89 fc 53 4c 8b af 70 08 00 00 49 8b 85 a0 00 00 00 31 ff 48 8b
80
c8 05 00 00 <48> 8b 70 28 e8 9f 92 d9 ff 48 85 c0 48 89 c3 74 61 0f
1f 80 00 [ 75.400025] RIP [<ffffffff81351b38>]
blk_throtl_drain+0x28/0x130
[ 75.400025] RSP <ffff8800e7039a88>
[ 75.400025] CR2: 0000000000000028
[ 75.400025] ---[ end trace f76955bc776ce5cd ]---
Met vriendelijke groet / Kind regards,
Dick Tump | Shock Media B.V.
Tel: +31 (0)546 - 714360
Fax: +31 (0)546 - 714361
Web: http://www.shockmedia.nl/
Connect to me @ LinkedIn:
http://nl.linkedin.com/in/dicktump
_______________________________________________
drbd-user mailing list
[email protected]
http://lists.linbit.com/mailman/listinfo/drbd-user
--
: Lars Ellenberg
: LINBIT | Your Way to High Availability
: DRBD/HA support and consulting http://www.linbit.com
DRBD® and LINBIT® are registered trademarks of LINBIT, Austria.
__
please don't Cc me, but send to list -- I'm subscribed
_______________________________________________
drbd-user mailing list
[email protected]
http://lists.linbit.com/mailman/listinfo/drbd-user