On Wed, Oct 20, 2010 at 04:33:30PM +0200, [email protected] wrote:
> >>>>> "Lars" == Lars Ellenberg <[email protected]> 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?

Sorry.
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
_______________________________________________
drbd-user mailing list
[email protected]
http://lists.linbit.com/mailman/listinfo/drbd-user

Reply via email to