[DRBD-user] DRBD packages for Proxmox 4.x

Jasmin J. jasmin at anw.at
Sun Nov 27 13:54:34 CET 2016

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



More information about the drbd-user mailing list