Note: "permalinks" may not be as permanent as we would like,
direct links of old sources may well be a few messages off.
Hi! > So nobody at Linbit checked if DRBD9 contains the buggy sendmsg() call? I recently wrote in a message to another thread: "When ever I found such a bug in my drivers, this rang a bell and I was checking other candidates. Sometimes I found a hidden "feature" this way." Which I did in this case also and voilla ;) Because SW developers are lazy and smart at the same time, they tend to re-use code they wrote in the past and that's why you often find hidden "features" when you look for a just found one in similar parts of the software. > Linbit thinks that the bug would be very unlikely to be triggered in DRBD8 I guess, I found 30% of my errors by code reading and analyzing, rather than testing. And for the most unlikely errors, which even can't be triggered by extensive testing, I review such code dealing with the "unlikely" with more people and try to simulate them. Happens with a sequence number check in a core system communication protocol I wrote some years ago. > Could that function be unused in DRBD9? > Just speculating here, playing defendant's advocate for fun. When this module (drbd_transport_tcp.ko) is loaded, this function gets executed by the "connect" Kernel API and then: dtt_connect -> dtt_send_first_packet -> _dtt_send -> kernel_sendmsg > Fortunately the module as well as the utils seem to be pretty self-contained > with few external dependencies (good job there, Linbit). Yes, they did a really good job here! It is required (by Linus) practice to stabilize the Kernel interface and keep it compatible as long as possible. This is the base for perfect Kernel / Userspace separation. You can see this on some old programs, which are compiled for Debian Lenny and still work with Wheezy (when they are statically linked). And the Linbit concept with common drbd-utils is very user friendly. I like how they did this! JJ> So I would prefer the variant from your Debian package, as Proxmox VE 4.x JJ> is Debian based, beside the Kernel (Ubuntu version). > Well, everybody seems to agree the variants are equivalent, and the variant > commited to git has been accepted by Linus and will make it into all kernels > updates up to 4.9 (4.10 gets a larger rewrite there anyway). You did misunderstand me here. I meant using drbd-utils from Debian, not the Kernel module. I guess, as soon as Linbit will release a drbd-8.4.10-1.tar.gz on their page you will upgrade your DEB package and then the upstream version of th patch is automatically used. BR, Jasmin