[DRBD-user] drbd-8.3.9rc2.tar.gz

Lars Ellenberg lars.ellenberg at linbit.com
Wed Oct 20 16:55:21 CEST 2010

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

On Wed, Oct 20, 2010 at 04:33:30PM +0200, rf at q-leap.de wrote:
> >>>>> "Lars" == Lars Ellenberg <lars.ellenberg at linbit.com> writes:
>     >> Build automagic of who? The kernel? When I apply the patch generated by
>     >> make kernel-patch and compile I get a "BLK_MAX_SEGMENTS undefined" error.
>     Lars> Ah.  Well, the build magic of DRBD.  You are supposed to build
>     Lars> the out-of-tree DRBD module as external module.  You are not
>     Lars> supposed to use the "make kernel-patch" thing.  It may or may
>     Lars> not work. I don't really care if it does.  We should probably
>     Lars> drop if from our makefiles now.
>     Lars> But if you go that route, you first need to
>     Lars>  ./scripts/adjust_drbd_config_h.sh
>     Lars> Or even KDIR=$KDIR O=$O ../scripts/adjust_drbd_config_h.sh
> OK, that fixes the missing #define. Thanks for the hint.
>     Lars> Could you reason why the first chunk would be necessary?
>     >> The kernel doesn't know about the variable  $(DRBDSRC)
>     Lars> Of course it does not.  And you should not patch it in there.
>     Lars> The in-kernel tree drbd must only use the in kernel tree .h
>     Lars> files, obviously.  So the in-kernel tree Makefile should be
>     Lars> left untouched.
> I prefer in-tree, but OK, I build it out of tree from now on.

Well, if it does work for you, fine ;-)
But it may get cumbersome now that there is already an in-tree drbd,
with a somewhat different layout of files, and the split of an additional
helper module.

> Now to the more serious problem.
> Do you have any hint on how to start
> debugging the SDP connect problem?

The workaround mentioned before, respectively patching OFED kernel[*],
did work last time I tried.
Performance tuning is a different thing altogether.

[*] I think it was something like this

diff --git a/drivers/infiniband/core/addr.c b/drivers/infiniband/core/addr.c
index ce511d8..26ef4c4 100644
--- a/drivers/infiniband/core/addr.c
+++ b/drivers/infiniband/core/addr.c
@@ -306,7 +306,7 @@ static int addr_resolve_remote(struct sockaddr *src_in,
 				struct sockaddr *dst_in,
 				struct rdma_dev_addr *addr)
-	if (src_in->sa_family == AF_INET) {
+	if (src_in->sa_family == AF_INET || src_in->sa_family == AF_INET_SDP) {
 		return addr4_resolve_remote((struct sockaddr_in *) src_in,
 			(struct sockaddr_in *) dst_in, addr);
 	} else

: 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

More information about the drbd-user mailing list