From: brian Date: Tue, 19 Aug 2008 19:19:12 +0000 (+0000) Subject: b=16364 X-Git-Tag: v1_7_100~1^399~3 X-Git-Url: https://git.whamcloud.com/?a=commitdiff_plain;h=18745902e8d6d0a4f39a518e70f8245146b9af91;p=fs%2Flustre-release.git b=16364 i=yibin.wang i=sheng.yang Try to prevent the user from choosing incompatible kernel and Lustre configuration options when configuring the o2ib LND. --- diff --git a/lnet/autoconf/lustre-lnet.m4 b/lnet/autoconf/lustre-lnet.m4 index eed8654..605bf3c 100644 --- a/lnet/autoconf/lustre-lnet.m4 +++ b/lnet/autoconf/lustre-lnet.m4 @@ -543,6 +543,37 @@ else *) AC_MSG_ERROR([internal error]);; esac else + # figure out whether the kernel has an infiniband stack + # configured + LB_LINUX_CONFIG_IM([INFINIBAND],[ + CONFIG_INFINIBAND_MODULE_defined=true + ],[ + CONFIG_INFINIBAND_MODULE_defined=false + ]) + # at this point we know that the user either explicitly + # requested o2ib support or didn't explicitly disable it so + # make sure the kernel's CONFIG_INFINIBAND variable is set + # appropriately. + # + # possible error conditions are: + # 1) --with-o2ib[=yes] (implies in kernel since no path was + # given) and kernel not configured for IB + # 2) --with-o2ib=/path and kernel is configured for IB + # + if test "$O2IBPATH" = "$LINUX" -o "$O2IBPATH" = "$LINUX/drivers/infiniband"; then + # infiniband stack is in the kernel + if test $ENABLEO2IB -eq 1 -o $ENABLEO2IB -eq 2 && ! $CONFIG_INFINIBAND_MODULE_defined; then + # case #1 + AC_MSG_ERROR([Kernel supplied OFED drivers are being requested however the kernel is NOT configured to build OFED modules. Please specify --with-o2ib= or rebuild the kernel with Infiniband enabled.]) + fi + else + # had to be a specified path with --with-o2ib=/path + if $CONFIG_INFINIBAND_MODULE_defined; then + # case #2 + AC_MSG_ERROR([External OFED source has been specified but the kernel is configured to build OFED modules as well. Remove --with-o2ib from the configuration or rebuild the kernel without Infiniband.]) + fi + fi + if $o2ib_found; then O2IBCPPFLAGS="-I$O2IBPATH/include" EXTRA_KCFLAGS_save="$EXTRA_KCFLAGS" EXTRA_KCFLAGS="$EXTRA_KCFLAGS $O2IBCPPFLAGS" @@ -639,6 +670,7 @@ else EXTRA_KCFLAGS="$EXTRA_KCFLAGS_save" fi + fi fi AC_SUBST(EXTRA_LNET_INCLUDE)