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?
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